动态与非动态创建数组

时间:2018-09-03 15:40:03

标签: c++ memory

当我在编译时不知道数据量时,我知道必须使用动态的内存保留方式,例如:

int i;
cin >> i;
int *a = new int[i]; // or int *a = new int[5] for example
a[0] = 1;
...

到目前为止很清楚。当我已经知道编译时的数据量时,可以使用这种非动态方式:

int b[5];
b[0] = 1;

因此,当我执行以下操作时,它也会执行,我很困惑为什么。

int i;
cin >> i;
int *c[i]

为什么这样做?我以为只有通过使用动态内存才能做到这一点?

0 个答案:

没有答案