未初始化的变量的值 0Xcccccccc -858993460 烫
来源:互联网 发布:淘宝运营合作协议 编辑:程序博客网 时间:2024/04/28 12:02
指针:0xCCCCCCCC
VC的DEBUG版会把未初始化的指针自动初始化为0xCCCCCCCC,而不是就让它随机去,那是因为DEBUG版的目的是为了方便我们调试程序的,如果野指针的初值不确定,那么每次调试同一个程序就可能出现不一样的结果,比如这次程序崩掉,下次正常运行,再一次虽然没崩掉,但结果不对……那显然对我们解bug是非常不利的。
DEBUG版本为了能让程序员更早的发现错误,把堆栈上的数据对初始化成了0xcc,也就是说局部变量如果不初始化,那么DEBUG版本中就会是0xCC
Debug为了调试方便,也就是其Edit And Continue特性,为每个函数都多分配了64个字节。当用户在调试时在代码里增加少量变量的时候,编译器就可以分配那64个字节的空间过去,这样就不用重新编译程序来重新调试。
DEBUG版本为了能让程序员更早的发现错误,把堆栈上的数据对初始化成了0xcc,也就是说局部变量如果不初始化,那么DEBUG版本中就会是0xCC
Debug为了调试方便,也就是其Edit And Continue特性,为每个函数都多分配了64个字节。当用户在调试时在代码里增加少量变量的时候,编译器就可以分配那64个字节的空间过去,这样就不用重新编译程序来重新调试。
int:-858993460(十六进制OXCCCCCCCC)(二进制11001100110011001100110011001100)
a、当一个未初始化赋值的时候(至少是vc 下未初始化的内存)默认是0xCCCCCCCC;,他在内存就默认保存为-858993460 即二进制的11001100 11001100 11001100 11001100; 十六进制的CCCCCCCC;而汉字 "烫" 的编码恰好就是1100110011001100:
b、如果变量的数据类型由于你的运算的溢出了,在内存中系统就自动改为-858993460
b、如果变量的数据类型由于你的运算的溢出了,在内存中系统就自动改为-858993460
unsigned,unsigned long:3435973836 (OXCCCCCCCC)(11001100110011001100110011001100)
short: -13108 (0XCCCC)(1100110011001100)
char: -52 '?' 其中 -52为(0XCC)(11001100)
double,long double: -9.2559631349317831e+061
bool:true
- 未初始化的变量的值 0Xcccccccc -858993460 烫
- 未初始化的变量的值 0Xcccccccc -858993460 烫
- 变量未初始化的可能性
- 数组变量存储值,报引用未初始化的集合
- 关于C语言中的未初始化变量的值
- 未初始化的局部变量 为什么随机值…
- 关于C语言中的未初始化变量的值
- 关于C语言中的未初始化变量的值
- 关于C语言中的未初始化变量的值
- 关于C语言中的未初始化变量的值
- C语言中的未初始化变量的值
- 变量未初始化引起的release错误
- 未初始化的变量引起运行问题
- C++未被初始化的局部变量
- 内存中常见异常值的解释(比如0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值)以及关于VC 中 debug和Release模式下的变量初始化问题
- 变量声明/空间分配/未初始化的随机值分配/变量非运算/变量置空
- 未定义整型-858993460,未定义指针0xcccccccc的含义
- 可恶的0xcccccccc引起的问题
- poj2060 最小路径覆盖
- Zend Framework教程-Zend_Db-数据库操作4-Zend_Db_Select
- VC(ARM)的编译器,链接器与库的生成器和查看器
- 用Tortoise SVN抽取补丁包(patch)
- jQuery选择器总结
- 未初始化的变量的值 0Xcccccccc -858993460 烫
- 【DP】最近做的一些DP题
- 第七天——沙滩之行
- VC6使用VS2005(VS2008)的lib库文件,去除RTC链接错误
- MSTAR的编译选项C_OPTIONS(CFLAGS参数)
- sa无法映射到数据 报错:创建对于用户"sa"失败
- poj3624(Charm Bracelet + 赤裸01背包)
- VS2005的depends工具
- Linux模式设计--数据大小,对齐函数相关