我正在阅读有关动态内存分配和静态内存分配的信息,并发现以下有关动态内存分配的信息:
在前面章节中看到的程序中,所有内存需求都是在程序执行之前通过定义所需的变量来确定的。但是可能存在程序的内存需求只能在运行时确定的情况。例如,何时需要的内存取决于用户输入。
所以我用 C++ 编写了以下程序:
#include <iostream>
int main()
{
int n = 0;
int i = 0;
std::cout << "Enter size: ";
std::cin >> n;
int vector[n];
for (i=0; i<n; i++)
{
vector[i] = i;
}
return 0;
}
这个程序有效。我不明白它是如何工作的。这里的大小是什么时候确定的?在这种情况下如何分配向量?