看完还不会指针砍死作者系列④——指针、数组、首元素地址、数组地址

指针、数组、首元素地址、数组地址

数组名a:

1、大部分时间当作指针数组名=常量指针

2、不当指针sizeof运算时

3、不当指针做&运算时

int a[] = { 1,2,3,4 };

int* p = a;//数组的首地址指针p指向数组a

int* arrayAddress = &a;//指针arrayAddress指向数组的地址

//上边两句输出地址为同值,一个为首元素地址,一个为数组地址

printf("%d",*p);

printf("数组a首元素地址%p\n", a);

printf("数组a的地址%p\n", &a);


printf("%p\n", a); // 006FFB04

printf("%p\n", a+1); // 006FFB08首元素偏移+4byte/a+sizeof(*array)  

printf("%p\n", &a); // 006FFB04

printf("%p\n", &a + 1); // 006FFB14数组偏移+4*4byte/a+sizeof(*&array)

结论:a代表首元素地址,&a代表数组地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容