int main(){ int arraySize; int arrayMain[arraySize-1]; cout << "\n\nEnter Total Number of Elements in Array.\n\n"; cin >> arraySize; arrayMain[arraySize-1]={0}; cout <<"\n\n" <<arrayMain; return 0;}
编译上面的代码时,我的编译器冻结了.我对如何将动态数组设置为0感到困惑?
解决方法 你使用std :: vector:std::vector<int> vec(arraySize-1);
您的代码无效,因为1)arraySize未初始化,2)您不能在C中使用可变长度数组.所以要么使用向量,要么动态分配内存(这是std :: vector在内部执行的 *** 作):
int* arrayMain = new int[arraySize-1] ();
注意最后的() – 它用于对元素进行值初始化,因此数组的元素将设置为0.
总结以上是内存溢出为你收集整理的c – 将动态数组初始化为0?全部内容,希望文章能够帮你解决c – 将动态数组初始化为0?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)