数组成员的值变化不合逻辑
当我声明一个数组时,我注意到了
int arr[10];
过了一会儿,虽然在一段时间内没有任何影响,但数组成员的值会发生变化。 然后我用“新”动态分配,问题解决了。 我认为一切都应该动态声明。 但这不应该是真的。 什么是合乎逻辑的原因?
原因可能有多少:
- 如果数组成员位于本地存储上,则初始化它,如果不存在则包含任何随机值。
- 您可能会覆盖同一函数中某些其他数组的边界,从而破坏堆栈和数组。
- 你以某种神奇的方式破坏堆栈。
当我声明一个数组时,我注意到了
int arr[10];
过了一会儿,虽然在一段时间内没有任何影响,但数组成员的值会发生变化。 然后我用“新”动态分配,问题解决了。 我认为一切都应该动态声明。 但这不应该是真的。 什么是合乎逻辑的原因?
原因可能有多少: