cc问题
函数在执行的过程中系统会自动给函数分配一段内存空间,用来存放函数定义的变量。但是刚开始函数会将这段内存空间进行全部赋值为C(相当于磁盘的格式化),如果该函数在执行过程中,访问到了没有使用的内存空间就会出现CC,例如代码打印没有使用的内存空间的值就是一个很大的数字0xcccccccc。
- 为什么都格式为CC:
因为CC的机器码中对应的是int3,int3的机器指令中是断点的作用,所有这样做起到了安全的作用。
操作代码
void test(){
int a = 4;
int *c = (int *)&a;
cout << "C = " << *(c+1) << endl;
}
int main(){
test();
}
这样操作就会打印出CC来。