C初始化全局数组
发布时间:2020-12-16 05:00:27 所属栏目:百科 来源:网络整理
导读:嘿大家.我是一名经验丰富的 java程序员,我只是在学习C语言. 现在我有点初学者的问题.我有一个类型为int的数组变量x. 用户将在方法B中输入x的大小.我想在方法A中使用x. void method A(){ using int x [] blah blah blah}void method B(){int n;cin n;int x [n
嘿大家.我是一名经验丰富的
java程序员,我只是在学习C语言.
现在我有点初学者的问题.我有一个类型为int的数组变量x. 用户将在方法B中输入x的大小.我想在方法A中使用x. void method A() { using int x [] blah blah blah } void method B() { int n; cin >>n; int x [n]; // How can I use this int x in method A without getting error: storage size x is unknown. // Or the error 'x' was not declared in this scope. } 编辑:参数传递不是我正在寻找的解决方案. DOUBLE EDIT:我知道矢量选项,但我的程序正按时填写.我正在创建一个每毫秒计数的算法. 顺便说一句,我找到了一种方法. int x [] = {} method B(); method A () { blah blah use x} method B () {/*int*/ x [n]} 解决方法
如果你真的想要一个数组而不是一个向量,并且你希望该数组在运行时动态调整大小,则需要在堆上创建它(将其存储在指针中),并在完成后释放它.
来自Java,您需要了解C中没有垃圾收集 – 您想要在析构函数中使用delete清理的对象中的任何新内容(在堆上创建). class foo { private: int *array; public: foo() { array = NULL; }; ~foo() { if (array != NULL) delete [] array; } void createArray() { array = new int[5]; } }; 更多信息:http://www.cplusplus.com/doc/tutorial/dynamic/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |