1:程序分release版本 和 debug版本
2:debug版本是调试版本 程序不做任何优化
3:release版本 往往是进行了各种优化 使得程序在代码大小和运行速度上都是最优的
4:内存分栈区和堆区5
5:栈区特点 先进的后出 后进的先出6
6:局部变量是放在{}里面的 在内存中是存储在栈区的
7:栈区的使用习惯是:先使用高地址 再使用低地址
8:先定义的局部变量存储的内存地址 要高于 后定义的局部变量存储的内存地址
9:字符串是用双引号夹的 数组是用{}夹的
10:数组随着下标的增长,地址是由低到高变化的
11:越界访问内存中存储的局部变量 有可能出现程序死循环
12:debug版本在越界访问局部变量时就容易出现死循环 但是在release版本 就没有出现死循环 因为release版本对程序做了优化
13:arr[]数组的越界访问的前提是 arr[]数组的内存地址超过了i的内存地址
14:release版本 就把arr[]内存地址 放在了i的下面 这样就不会出现越界访问i地址了 这就是release版本的自动优化的其中一点 无论arr[]在怎么越界 也不会碰触到i的内存地址了
15:release版本的运行结果 有可能和debug版本的运行结果有所差异
16:测试人员在release版本发现的问题 程序员也要认为程序有问题