数组和指针的区别令人困惑,很多人常常把数组名和指针看作是相同的——毕竟它们都是个地址。而且好像都可以进行算数操作、利用下标运算符运算。
例如如下代码,当把a的地址拷贝给p后,可以像把p当作a的引用一样使用:
#include <stdio.h>
int main(){
int *p;
int a[5] = {
0, 1, 2, 3, 4};
p = a;
for(int i = 0; i != 5; i++)
printf("p[%d] is %d \n", i, p[i]);
return 0;
}
得到的结果是: