【问题标题】:Initialize an array of an array of structs初始化结构数组的数组
【发布时间】:2022-01-13 11:10:12
【问题描述】:

我正在尝试在 C 中初始化结构数组的数组。这可能吗?

举例说明问题(不编译):

typedef struct myStruct
{
    int row;
    int cols;
} myStruct;

myStruct dataSets[][] =
{
    myStruct dataSet1[]
    {
        {0,1},
        {0,2},
        {0,3},
    },

    myStruct dataSet2[]
    {
        {1,1},
        {1,2},
        {1,3},
    }
};

【问题讨论】:

  • 您的 myStruct 定义与您在其实例中初始化的完全不同。

标签: c multidimensional-array


【解决方案1】:

初始化多维数组时,只能省略外部数组维度。您也不需要指定嵌套初始化器的类型,因为类型是从上下文中隐含的:

myStruct dataSets[][3] =
{
    {
        {0,1},
        {0,2},
        {0,3},
    },
    {
        {1,1},
        {1,2},
        {1,3},
    }
};

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 1970-01-01
    • 2012-05-02
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多