c – 将动态数组初始化为0?

c – 将动态数组初始化为0?,第1张

概述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"
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?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1221021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存