当我在编译时不知道数据量时,我知道必须使用动态的内存保留方式,例如:
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]
为什么这样做?我以为只有通过使用动态内存才能做到这一点?