8月15日 数据的存储

1.DEBUG版本

int main()

{

int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9,10 };

for (int i = 0; i < 12; i++)

{

arr[i] = 0;

printf("hehe\n");

}

return 0;

}

i 和 arr 是局部变量,放在栈区里,而栈里先使用高地址,再使用低地址。

数据随着下标的增长,地址由低到搞变化。

最后导致,访问arr[12]的地址时就算 i 的地址,改变 i = 0,从而导致了死循环。

2.RELEASE版本

代码没有发生变化,但是i 和 arr 的地址发生了变化。

3.数据的类型

整形家族:char, int, short, long, long long

unsigned char, signed char

unsigned short, signed short

unsigned int, signed int

unsigned long, signed int

浮点型家族:float, double

构造类型: 数组,struct 结构体, enum 枚举,union 联合体

指针类型: int * , char * , float * , void *

空类型: void

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务