我正在阅读有关动态内存分配和静态内存分配的内容,并发现以下关于动态内存分配的内容:
在先前章节中看到的程序中,所有的内存需求都是通过定义所需变量来确定的。但是,在运行时可能会出现仅能在运行时确定程序内存需求的情况。例如,当所需内存取决于用户输入时。
因此,我用C++编写了以下程序:
在先前章节中看到的程序中,所有的内存需求都是通过定义所需变量来确定的。但是,在运行时可能会出现仅能在运行时确定程序内存需求的情况。例如,当所需内存取决于用户输入时。
因此,我用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;
}
这个程序可以正常运行。 我不理解它是如何工作的。 在这里,什么时候确定大小? 在这种情况下,向量是如何分配的?