C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C初始化全局数组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
嘿大家.我是一名经验丰富的 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初始化全局数组所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。