刘峰六的C语言讲解-- C指针(1)
时间:2010-08-29
来源:互联网
请给出下面程序的运行结果___
复制代码
正确答案: 110
解析:
本题考察三个知识点:
1. 存储类型
2. 指针运算
3. printf格式化输出
我们来分析一下。
1 存储类型
基于题目给出了32bit运行环境的概念,根据C99对于编译器是如何在内存中识别数据类型和读取的协议规范可知:
sizeof(char)=1;
sizeof(short)=2;
sizeof(int)=4;
sizeof(long)=4;
sizeof(float)=4;
sizeof(double)=8;
所以,程序中 p=p+sizeof(long); 就转化成为 p=p+4;
2 指针的运算
一般int类型算数int i =2 i=i+4 那么 i=6正确;
但是指针真的运算有着其不同的含义,按照我个人的理解,解释如下
ptr=ptr+m 的意义是 ptr沿着内存先前移动,移动了m个单位的距离, 单位的距离取决于ptr所指向的数据的内存存储空间的大小
这里 p 指向long, 所以 p=p+4, 并不是 p=0x100+4;而是 p = 0x100+4*4 = 0x100+16;
3.printf的格式化输出
printf的格式是%x,说明输出的内容是结果的十六进制模式,需要小心应答
我们平时说的类型存储,sizeof()等等都是针对十进制而言
所以上面提到的16,并不是内存看到的指令,
16 = 0x10;
p=0x100+0x10=0x110
至此得到正确答案
综上所述,争取答案是110
刘峰六于 2010-08-22 23:38:56
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/asiainfolf/archive/2010/08/29/5848553.aspx
- /* env: 32 bits*/
- int
- main(void)
- {
- long *p=0x100;
- p=p+sizeof(long);
- printf("%x\n",p);
-
- return 0;
- }
- /* env: 32 bits*/
- int
- main(void)
- {
- long *p=0x100;
- p=p+sizeof(long);
- printf("%x\n",p);
-
- return 0;
- }
解析:
本题考察三个知识点:
1. 存储类型
2. 指针运算
3. printf格式化输出
我们来分析一下。
1 存储类型
基于题目给出了32bit运行环境的概念,根据C99对于编译器是如何在内存中识别数据类型和读取的协议规范可知:
sizeof(char)=1;
sizeof(short)=2;
sizeof(int)=4;
sizeof(long)=4;
sizeof(float)=4;
sizeof(double)=8;
所以,程序中 p=p+sizeof(long); 就转化成为 p=p+4;
2 指针的运算
一般int类型算数int i =2 i=i+4 那么 i=6正确;
但是指针真的运算有着其不同的含义,按照我个人的理解,解释如下
ptr=ptr+m 的意义是 ptr沿着内存先前移动,移动了m个单位的距离, 单位的距离取决于ptr所指向的数据的内存存储空间的大小
这里 p 指向long, 所以 p=p+4, 并不是 p=0x100+4;而是 p = 0x100+4*4 = 0x100+16;
3.printf的格式化输出
printf的格式是%x,说明输出的内容是结果的十六进制模式,需要小心应答
我们平时说的类型存储,sizeof()等等都是针对十进制而言
所以上面提到的16,并不是内存看到的指令,
16 = 0x10;
p=0x100+0x10=0x110
至此得到正确答案
综上所述,争取答案是110
刘峰六于 2010-08-22 23:38:56
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/asiainfolf/archive/2010/08/29/5848553.aspx
作者: sohu2000000 发布时间: 2010-08-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28