no.*_*nod 0 c c++ arrays dynamic-memory-allocation
#include <iostream>
int
main(void)
{
int n;
std::cin >> n;
int x[n];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
从C的角度来看,上面的代码不应该正确编译,因为我猜想数组'x'的大小还没有定义.
只有在用户传递变量'n'的参数后,才能定义'x'的大小,但编译和运行时代码没有崩溃,我想知道为什么.
如果它是用C语言编写的,我认为人们会将malloc用于运行时可配置数组.
也许我对数组,内存分配,编译器以及c和c ++之间的关系有一些误解.如果我错了,请纠正我.