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))显示的是数组的大小。
运行结果为:
通过这个例子,我个人的理解是:
虽然打印数组a和&a结果是相同的地址值,但所代表的意义是不同的。数组名a代表数组第一个元素的地址,指针p和数组名a其实是指向数组元素的指针。指针pa是指向数组a这个整体的指针,p和pa是不一样的。也就是说p+i是按照数组元素的大小向前移动i,而pa+i是按照整体数组的大小向前移动。
*a代表了首元素,因此sizeof(*a)显示的是元素大小;*(&a)则是去数组a的地址后,代表了该地址为起点的整个数组,因此sizeof(*(&a))显示的是数组的大小。
相关文章推荐
- C语言学习笔记【指针04】指针数组与指向指针的指针 推荐
- C语言学习笔记.指针4--数组指针和指向数组的指针变量(一)
- 【C语言学习笔记】数组、字符串、指针
- 数组和指针————C语言学习笔记1
- C语言学习笔记 (007) - 数组指针和通过指针引用数组元素的方法总结
- 指向结构体数组的指针 学习笔记
- C语言学习笔记之成员数组和指针
- 指向一维数组的指针学习笔记
- C语言学习笔记21——多维数组和多维指针
- c语言之指针(指向数组元素的指针与指向数组的指针)
- C语言学习-----指针篇(1)-----指向多维数组的指针和指针变量
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- 学习笔记之12-指向一维数组元素的指针
- C语言学习笔记-----伊能C语言学习笔记---指针类型和指针所指向的类型不同时
- C语言学习笔记(19) 多维数组和多维指针分析
- C语言深度剖析学习笔记-指针、数组、内存、函数
- 【学习笔记】【C语言】指向函数的指针
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- C语言学习笔记22——数组参数和指针参数
- C语言学习笔记17——数组与指针