课程
/后端开发
/C
/Linux C语言指针与内存
变量存储在栈中不是按顺序从大到小么!那指针往后移动时地址变大,怎么能把后面的变量输出呢??
2015-10-28
源自:Linux C语言指针与内存 5-2
正在回答
回复 onemoo:关于你说的“给array[2]赋值就已经访问越界了,代码可能根本就无法运行。”,事实上,C语言对数组下标越界不会做检查,所以完全可能运行。
先吐槽:用这么bug的代码作示例真的好吗!?
给array[2]赋值就已经访问越界了,代码可能根本就无法运行。
C标准不保证内存中 a b 和数组是紧邻的,也不保证 a b 和数组在内存中的先后顺序。
唯一能确定的是数组中的元素在内存中是紧邻且递增的,也就是 array[0] 后面一定是 array[1]。
举报
指针-C语言的核心,代领大家对c语言有更加深刻的理解
3 回答栈中变量地址的问题
1 回答内存储存问题
3 回答不是很分得清什么样的情况存储在代码段内存,什么样的在栈内存?请大神讲解。
1 回答为什么栈内的函数比数据段中的变量位置小?栈不是在数据段之上吗?
5 回答栈内存分配