您的位置:首页 > 编程语言 > C语言/C++

C语言学习笔记之指向数组元素的指针和指向数组的指针

2015-02-08 20:16 671 查看
现有如下代码:



运行结果为:



通过这个例子,我个人的理解是:

虽然打印数组a和&a结果是相同的地址值,但所代表的意义是不同的。数组名a代表数组第一个元素的地址,指针p和数组名a其实是指向数组元素的指针。指针pa是指向数组a这个整体的指针,p和pa是不一样的。也就是说p+i是按照数组元素的大小向前移动i,而pa+i是按照整体数组的大小向前移动。

*a代表了首元素,因此sizeof(*a)显示的是元素大小;*(&a)则是去数组a的地址后,代表了该地址为起点的整个数组,因此sizeof(*(&a))显示的是数组的大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: