数组元素和指针
数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。
例如:
int a[10];
/*定义a为包含10个整型数据的数组*/
int *p;
/*定义p为指向整型变量的指针*/
p=&a[0];
把a[0]元素的地址赋给指针变量p。
也就是说,p指向a数组的第0号元素。
C语言规定: 如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。 例: P的初值为&a[0] : 数组名代表数组首元素的地址 a =&a[0]; p+i和a+i都是a[i]的地址。 *(p+i)和*(a+i)都是p+i和a+i所指向的数组元素,即a[i]. 例如: *(p+5), *(a+5)就是a[5]. 指向数组的指针变量也可以带下标。p[i]和*(p+i)等价。 引用一个数组: 下标法:用a[i]来表示; 指针法:用*(a+i),*(p+i)表示。