C++初学者,不同的命名数组在循环中改变[重复]

问题描述 投票:0回答:0

我打算问一个不同的问题,当我写下它的细节时,我解决了我的问题(有点):)

for (int i=0; i<wordLength + size; i++) {
                letters_guessed[i] = ' ';
            }

In here (int i) 将超出 letters_guessed 的容量 (例如:letters_guessed 的大小为 20,但 (int i) 将为 20,21,22,23 等等) 我的问题是,为什么那些超出 letters_guessed 容量的正在改变我的另一个名为 displayedchars 的数组?

我不确定,但我的猜测是它正在发生,因为 letters_guessed 本身是一个指针,而 displayedchars 本身是另一个指针,并且 int i 值继续到下一个值。 Stack 总是一个接一个地保存我的数据吗?

对我来说,如果 int i 超出了数组的限制,letters_guessed[i] 应该给出错误。为什么不是这样?

c++ arrays pointers
© www.soinside.com 2019 - 2024. All rights reserved.