C第六章数组指针与字符串PPT课件
- 格式:pptx
- 大小:334.79 KB
- 文档页数:56
187〖算法描述〗在这个程序中,需要按照顺序执行下列操作。
(1)按照规则构造下三角方阵。
(2)输出下三角方阵。
〖程序代码〗#include <stdio.h>#define NUM 7main(){int a[NUM][NUM];int *ptr, i, j;/*构造下三角方阵 */for (i=0; i<NUM; i++) {ptr = *(a+i); /*ptr 指向第i 行的第1个元素 */for (j=0; j<=NUM; j++)if (i>=j)*(ptr+j) = j+1;/*ptr+j 指向ptr 所指行的下标为j 的元素 */ else*(ptr+j) = 0;}/ *输出下三角方阵 */for (i=0; i<NUM; i++) {ptr = *(a+i);for (j=0; j<NUM; j++)printf(“%3d”, *(ptr+j));printf(“\n”);}}〖运行结果〗运行这个程序后,将显示如上面所示的下三角方阵。
在这个程序中,看到了a +i 的书写形式,这是因为a 与a[0]等价;a +1与a[1]等价,所以可以导出a +i 与a[i ]等价。
又因为a[i]指向第i行的首地址,所以a[i ]+j 就指向第i 行、第j 列元素。
这种指针关系如图6-18所示。
综上所述,数组和指针的运算具有很大的相似性,特别是作为函数参数的数组类型(如:int a[ ])和指针参数(如:int *a )是完全等价的。
从使用者的角度看,数组类型概念简单容易理解,而指针类型效率高且功能强大。
因此,对于一般应用程序可以尽量采用数组类型,以减轻维护的难度;而对于强调性能的应用程序,应尽量采用指针类型。
6.2.3 字符串与指针数组在计算机应用系统中,各种信息系统不可避免地要进行大量的文字处理。
由于文字在计算图6-18 二维数组与指针的关系188 机语言中表现为字符串,字符串处理也就成为程序设计中应用最为广泛的基本功能。