我从这里读过这一段:http ://www.cplusplus.com/doc/tutorial/dynamic/
您可能想知道声明普通数组和将动态内存分配给指针之间的区别,就像我们刚刚所做的那样。最重要的区别是数组的大小必须是一个常数值,这将它的大小限制在我们在设计程序的那一刻,在它执行之前决定的范围内,而动态内存分配允许我们在执行期间分配内存使用任何变量或常量值作为其大小执行程序(运行时)。
但我的这段代码工作得很好:
int number;
cin>>number;
int myArray[number];
cout<<sizeof(myArray)/sizeof(myArray[0])<<endl;
cout<<sizeof(myArray)<<endl;
这是否意味着数组是在动态内存中创建的?或者它是在静态内存中创建的,但它的大小仍然在运行时确定?