《C语言深度剖析》笔记 之 指针与数组
2012-11-27 10:28
211 查看
1. 编译器的bug
char ch = 10;
char * p = (char *)0x12ff7c;
*p = NULL;
p = NULL;
代码执行后,*p 还是 0x12ff7c上的内容吗?答案不是,p值变为了0x0012ff00。
原因就是编译器认为是将NULL赋值给char 类型的内存,所以指针p的低地址上的一个字节赋值为0。
书作者的测试环境是Visual C++ 6.0。
我测试了CodeBlocks中没有此现象出现。
×p 就指向的是ch的值。
char ch = 10;
char * p = (char *)0x12ff7c;
*p = NULL;
p = NULL;
代码执行后,*p 还是 0x12ff7c上的内容吗?答案不是,p值变为了0x0012ff00。
原因就是编译器认为是将NULL赋值给char 类型的内存,所以指针p的低地址上的一个字节赋值为0。
书作者的测试环境是Visual C++ 6.0。
我测试了CodeBlocks中没有此现象出现。
×p 就指向的是ch的值。
相关文章推荐
- 【C】【笔记】《C语言深度剖析》第四章 指针和数组
- 【C++学习笔记】指针和数组的基本等价测试
- C程序设计语言(K&R)学习笔记--8.指针与数组
- C语言笔记6--指针与数组
- C++笔记——指针数组/数组指针
- C语言学习笔记22——数组参数和指针参数
- C++学习笔记之数据类型(2)数组、向量、指针
- C语言学习笔记(17) 数组和指针分析
- <深入理解C指针>学习笔记和总结 第四章 指针和数组
- C++ Primer 学习笔记:数组和指针
- C程序设计语言整理笔记(五)指针与数组
- 指向结构体数组的指针 学习笔记
- iOS笔记之_C语言数组与指针
- 黑马程序员--C语言自学笔记---11数组、指针、推箱子小游戏
- 指针与数组学习笔记
- C++ Primer学习笔记---第四章 数组和指针
- C语言笔记->通过指针引用数组
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
- C/C++学习笔记四(指针、数组)
- 关于指针和数组的笔记