阵列初始化器中的多余元素

Excess elements in array initializer

本文关键字:多余 元素 初始化 阵列      更新时间:2023-10-16

我目前正在尝试打印一张表,但是我遇到的错误,我的数组初始化器中的元素太多。我做错了什么?(使用Xcode)

int coordinates[5] [2] = {{x1,x2,x3,x4,x5},{y1,y2,y3,y4,y5}};
int coordinates[5] [2]

的一个数组五个数组的两个 int元素。

从您的初始化来看,您希望coordinates两个的数组,每个数组的五个 int元素:

int coordinates[2] [5]

此类初始器在数组声明中使用

{x1,x2,x3,x4,x5}

对应于具有至少5个元素的一维数组。但是这个声明

int coordinates[5] [2] = { /*...*/ }; 

对应于该数组元素的一维阵列int[2]。因此,您最多可以使用两个初始化器使用初始化列表来初始化二维数组的每个元素。

看来您需要的是以下

int coordinates[5] [2] = 
{
    { x1, y1 }, 
    { x2, y2 }, 
    { x3, y3 }, 
    { x4, y4 }, 
    { x5, y5 } 
};