旅游电子商务的三创赛网站建设,wordpress自动加标签,php企业网站源码下载,wordpress虚拟币接口8.3.1 数组元素的指针
所谓数组元素的指针就是数组元素的地址。
可以用一个指针变量指向一个数组元素。例如#xff1a;
int a[10]{1,3,5,7,9,11,13,15,17,19}#xff1b;
int *p;
pa[0]#xff1b;
引用数组元素可以用下标法#xff0c;也可以用指针法#xf…8.3.1 数组元素的指针
所谓数组元素的指针就是数组元素的地址。
可以用一个指针变量指向一个数组元素。例如
int a[10]{1,3,5,7,9,11,13,15,17,19}
int *p;
pa[0]
引用数组元素可以用下标法也可以用指针法即通过指向数组元素的指针找到所需的元素。
8.3.2 在引用数组元素时指针的运算
在指针已指向一个数组元素时可以对指针进行以下运算
加一个整数用或如p1
减一个整数用-或-如p-1
如果指针变量p已指向数组中的一个元素则p1指向同一数组中的下一个元素p-1指向同一数组中的上一个元素。
8.3.3 通过指针引用数组元素
引用一个数组元素可以用下面两种方法
1下标法如a[i]形式
2指针法如*ai或*pi。其中a是数组名p是指向数组元素的指针变量其初值pa。
例8.7 通过指针变量输出整型数组a的10个元素
解题思路用指针变量p指向数组元素通过改变指针变量的值使p先后指向a[0]~a[9]各元素。
#includestdio.h
int main(){int *p,i,a[10];pa;printf(please enter 10 integer numbers:);for(i0;i10;i)scanf(%d,p);for(i0;i10;i,p)printf(%d,*p);printf(\n);return 0;
}
8.3.4 用数组名作函数参数
例用指针方法对10个整数按由大到小顺序排序
#includestdio.h
int main(){void sort(int x[],int n);int i,*p,a[10];pa;printf{please enter 10 integer numbers:};for(i0;i10;i)scanf(%d,p);pa;sort(p,10);for(pa,i10;i){printf(\n);return 0; }void sort(int x[],int n){int i,j,k,t;for(i0;in-1;i){ki;for(ji1;jn;j)if(x[j]x[k]) kj;if(k!i){tx[i];x[i]x[k];x[k]t; } } }
}
8.3.5 通过指针引用多维数组
指针变量可以指向一维数组中的元素也可以指向多维数组中的元素。
1.多维数组元素的地址
int a[3][4]{{1,3,5,7},{9,11,13,15},{17,19,21,23}};
a是二维数组名。a数组包含3行即3个行元素a[0],a[1],a[2]。
a[0]所代表的一维数组又包含4个元素a[0][0],a[0]a[1],a[0][2],a[0]a[3]。
2.指向多维数组元素的指针变量
1指向数组元素的指针变量
例有一个3*4的二维数组要求用指向元素的指针变量输出二维数组各元素的值。
#includestdio.h
int main(){int a[3][4]{1,3,5,7,9,11,13,15,17,19,21,23};int *p;for(pa[0];pa[0]12;p){if((p-a[0])%40)printf(\n)};printf{%4d,*p};}printf(\n);return 0;
}
3.用指向数组的指针作函数参数
一维数组可以作为函数参数多维数组名也可作函数参数。