C初始化全局数组

C初始化全局数组,第1张

概述嘿大家.我是一名经验丰富的 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 嘿大家.我是一名经验丰富的 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/

总结

以上是内存溢出为你收集整理的C初始化全局数组全部内容,希望文章能够帮你解决C初始化全局数组所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存