一个简单例子理解C语言指针
来源:互联网 发布:网络平台运行 编辑:程序博客网 时间:2024/06/05 08:35
- #include <stdio.h>
- intmain(){
- int a=100;
- int*p1 = &a;
- int**p2 = &p1;
- int***p3 = &p2;
- printf("%d, %d, %d, %d\n", a, *p1, **p2, ***p3);
- printf("&p2 = %#X, p3 = %#X\n",&p2, p3);
- printf("&p1 = %#X, p2 = %#X, *p3 = %#X\n",&p1, p2,*p3);
- printf(" &a = %#X, p1 = %#X, *p2 = %#X, **p3 = %#X\n",&a, p1,*p2,**p3);
- return0;
- }
- 运行结果:
100, 100, 100, 100&p2 = 0X28FF3C, p3 = 0X28FF3C&p1 = 0X28FF40, p2 = 0X28FF40, *p3 = 0X28FF40 &a = 0X28FF44, p1 = 0X28FF44, *p2 = 0X28FF44, **p3 = 0X28FF44
以三级指针 p3 为例来分析上面的代码。假设 a、p1、p2、p3 的地址分别是 0X00A0、0X1000、0X2000、0X3000,它们之间的关系可以用下图来描述:***p3
等价于*(*(*p3))
。*p3 得到的是 p2 的值,也即 p1 的地址;*(*p3) 得到的是 p1 的值,也即 a 的地址;经过三次“取值”操作后,*(*(*p3)) 得到的才是 a 的值。
0 0
- 一个简单例子理解C语言指针
- 从一个简单的例子深入看待c语言指针
- 一个简单的 C 语言指针问题
- [笔记]C语言中二级指针简单例子
- C语言中关于指针数组的一个例子
- 理解C语言指针
- 智能指针一个简单例子
- 简单而透彻地理解C语言指针
- 简单而透彻地理解C语言指针
- 简单而透彻地理解C语言指针
- C语言:理解数组指针和指针数组比较好的例子
- C语言回调函数一个简单的例子
- C语言回调函数一个简单的例子
- C语言调用libcurl的一个简单例子
- C语言回调函数一个简单的例子
- 深入理解C语言指针
- 深入理解C语言指针
- 深入理解C语言指针
- FineReport中如何用JavaScript解决控件值刷新不及时
- MaxCompute应用限制整理
- 用Python做测试——测试人员需要掌握的Python基础(二)
- 工作内容
- Hadoop第一天
- 一个简单例子理解C语言指针
- windows消息队列
- python中带星号/一个星号/两个星号的参数
- 设计模式-----适配器模式(Adapter)
- Web and php parse json data
- java中Map,List与Set的区别
- 20170207日记
- PAT 1128. N Queens Puzzle (20)
- spring和mybatis的整合(STUDYs)