都存储了数组的首地址
但是a指向的类型是一个元素,等价于&a[0],a的本质是一个常量指针
&a指向的类型是一个数组
a[i]等价于*( a + i )
&a[i]等价于( a + i )
sizeof数组名,是求数组大小,而不是求元素大小!
int a[10];
int *p = a;
printf("%d\n%d",sizeof(a),sizeof(p));//输出40和4
但是当sizeof(a)中的a是参数的话,情况就不同
数组在传参时新建指针指向原数组,这是求sizeof得到的是4而不是40
First Header | Second Header
------------- | -------------
Content Cell | Content Cell
Content Cell | Content Cell
网友评论