变量存储在栈中不是按顺序从大到小么!那指针往后移动时地址变大,怎么能把后面的变量输出呢??
回复 onemoo:关于你说的“给array[2]赋值就已经访问越界了,代码可能根本就无法运行。”,事实上,C语言对数组下标越界不会做检查,所以完全可能运行。
先吐槽:用这么bug的代码作示例真的好吗!?
给array[2]赋值就已经访问越界了,代码可能根本就无法运行。
C标准不保证内存中 a b 和数组是紧邻的,也不保证 a b 和数组在内存中的先后顺序。
唯一能确定的是数组中的元素在内存中是紧邻且递增的,也就是 array[0] 后面一定是 array[1]。