c++ - 二维数组值 C++

标签 c++ c multidimensional-array initialization shortcut

我想声明一个二维数组并为其赋值,而不运行 for 循环。

我认为我可以使用以下想法

int array[5] = {1,2,3,4,5};

这也可以很好地初始化二维数组。但显然我的编译器不喜欢这样。

/*
 1   8  12  20  25
 5   9  13  24  26
*/

#include <iostream.h>

int main()
{
    int arr[2][5] = {0};   // This actually initializes everything to 0.
    arr [1] [] = {1,8,12,20,25}; // Line 11
    arr [2] [] = {5,9,13,24,26};
    return 0;
}

J:\CPP\Grid>bcc32.exe Grid.cpp

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland

Grid.cpp:

Error E2188 Grid.cpp 11: Expression syntax in function main()

Error E2188 Grid.cpp 12: Expression syntax in function main()

Warning W8004 Grid.cpp 14: 'arr' is assigned a value that is never used in funct ion main()

* 2 errors in Compile *

请帮忙看看用我的一组值初始化二维数组的正确方法是什么。

最佳答案

像这样:

int main()
{
    int arr[2][5] =
    {
        {1,8,12,20,25},
        {5,9,13,24,26}
    };
}

这应该包含在您的 C++ 教科书中:您使用的是哪一本?

无论如何,最好考虑使用 std::vector 或一些现成的矩阵类,例如来自 Boost。

关于c++ - 二维数组值 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981197/

相关文章:

php - 对多维数组进行排序的最佳方法

c++ - 我们什么时候需要在 c 中进行深度复制

c++ - 变量内部变量的问题一旦更改就会恢复

c++ - 引用函数返回值

c - 为什么不允许对函数指针进行算术运算?

c++ - 从文件创建二维数组时遇到问题

c++ - 什么时候用 Qt 在 opengl 中创建渲染上下文?

python - 使用 numpy.frombuffer 读取 cffi.buffer 时如何处理 C 结构中的成员填充?

c - 字段说明符在 C 中的工作原理

php - 如何将数据插入到golang中的多维数组中?