对指针的理解2
来源:互联网 发布:培训班java教哪些课程 编辑:程序博客网 时间:2024/06/05 08:25
char *p[4];是指针数组,原因:
- 优先级 () > [ ] > * ,p先和[] 结合,p是数组名,*表示数组元素是指针,char 表示指向的是字符变量;
- 从名字上也可以看出,“指针数组”,核心是数组,指针只是修饰部分,即总体上是一个数组。
sizeof(p)是16,因为数组里放的是指针,也就是地址,每个地址占4个字节。同理 如果是int *p[4] 或者 double *p[4],sizeof(p)都是16。
p+1 移动4个字节。因为p是数组名,p加1后,(p+1)指向p[1],又因为存放的地址占4个字节,因此只移动4个字节。
p是一个二级指针,原因:p是数组名,存放的是数组第一个元素的地址,即 &p[0],又因为p[0]本身是char *类型,所以p的类型是char**,后一个*表示p是一个指针,前面的char *表示p指向的数据类型是char*,即p指向一个字符指针。
即 char ** s = p;是合法的。s++ 此时s指向p[1]。
sizeof(char*)的结果是4,sizeof(double)也是4.
注意:多级指针加1,移动4个字节。只要是指针,都占4个字节。
- 对指针的理解2
- 对指针的理解
- 对指针的理解
- 对指针的理解
- 对指针的理解
- 对指针的进一步理解
- 对数组指针的理解
- 对指针的一点点理解
- 对指针的初步理解
- 对“数组指针”的理解
- 对数组指针的理解
- 对指针的一点理解
- 对指针的初步理解
- 对指针的进一步理解
- 对指针的基础理解
- 对指针的一个理解
- 对指针数组的理解
- C++ 对指针的理解
- struts+spring+hibernate的一个完整的例子
- 杂记
- 项目总结(四):当软件失去灵魂
- shell脚本查找指定目录下所有子目录中的同名文件
- 注册表学习——机密文件彻底隐藏
- 对指针的理解2
- 【搜索优化】翻转游戏 flip
- Placement new的用法及用途
- 一个工科研究生毕业后的职业规划
- 对九个超级程序员的采访
- Java编程中“为了性能”需做的26件事
- firefox 16 firebug问题 html模块显示不出来内容不显示内容
- JSP语法总结(一)
- ado