C++17 局部变量C+的随机初始化+;

C++17 局部变量C+的随机初始化+;,c++17,C++17,在创建和运行一小段代码以查看如何初始化全局和局部变量时,全局数组输出一个零(因为全局变量是用零初始化的) 但为什么每次重新构建程序时,本地数组的打印值都会随机变化 #包括 使用名称空间std; int-global[1]; int main() { int-local[1]; CUT全局变量在C++中的行为像静态(标准定义的行为)。它们的值设置为0。它们在内存中也有特殊的位置。 另一方面,如果将局部变量左单位化,则其值未定义。这意味着当您运行程序时,它只读取分配结构的内存中的数据。这些似乎是您遇

在创建和运行一小段代码以查看如何初始化全局和局部变量时,全局数组输出一个零(因为全局变量是用零初始化的)

但为什么每次重新构建程序时,本地数组的打印值都会随机变化

#包括
使用名称空间std;
int-global[1];
int main()
{
int-local[1];

CUT

全局变量在C++中的行为像静态(标准定义的行为)。它们的值设置为0。它们在内存中也有特殊的位置。


另一方面,如果将局部变量左单位化,则其值未定义。这意味着当您运行程序时,它只读取分配结构的内存中的数据。这些似乎是您遇到的随机值。

#包括使用命名空间std;int global[1];int main(){int Local[1];coutim对此表示抱歉,在我发布问题时,程序的全局[1]是不可见的。int local[1]{};//<这将初始化为零。另外,打印时不要访问全局[1]或本地[1]。最后可访问的元素是全局[0]和本地[0]。