相关疑难解决方法(0)

允许运行时没有动态分配的数组大小?

我已经使用C++几年了,今天我看到了一些代码,但这怎么能完全合法呢?

int main(int argc, char **argv)
{
    size_t size;
    cin >> size;
    int array[size];
    for(size_t i = 0; i < size; i++)
    {
        array[i] = i;
        cout << i << endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据海湾合作委员会编制.

如何在没有new或没有运行时确定大小malloc

只是为了仔细检查,我用谷歌搜索了一些和我的所有类似的代码声称存储大小错误.

甚至Deitel的C++如何编程p.共同编程错误4.5下的261个状态:

只有常量可用于声明自动和静态数组的大小.

给我看.

c c++ array-initialization

58
推荐指数
4
解决办法
4万
查看次数

为什么我不能创建一个大小由全局变量确定的数组?

为什么数组a不会被全局变量初始化size

#include<stdio.h>

int size = 5;

int main()
{
    int a[size] = {1, 2, 3, 4, 5};
    printf("%d", a[0]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译错误显示为

可能无法初始化可变大小的对象

据我说,数组应该初始化size.

如果我坚持使用全局变量(如果可能的话),那会是什么样的答案?

c arrays global-variables

20
推荐指数
4
解决办法
4万
查看次数

标签 统计

c ×2

array-initialization ×1

arrays ×1

c++ ×1

global-variables ×1