我已尝试将括号放在我知道的任何地方,但我不断收到错误"在初始化程序周围缺少括号"。这是一个struct Point
数组Point pointArray[9][2]={1,1,-1,1,-1,-1,1,-1,1,0,0,1,-1,0,0,-1,0,5,1000,1};
我在每组点附近放置了括号,每端有2个括号,并且它没有改变任何东西
答案 0 :(得分:2)
使用此:
Point pointArray[9][2]={{1,1},{-1,1},{-1,-1},{1,-1},{1,0},{0,1},{-1,0},{0,-1},{0,5},{1000,1}};
你完成它的方式就像初始化一个包含20个元素的一维数组(Point pointArray[20]=...;
)。
但是,只有一半可以解决您的问题,因为您在那里有 10 对,并且您已指定 9 。您可能必须删除数组条目,或将定义更改为Point pointArray[10][2]=...;
。
答案 1 :(得分:2)
如果您的结构类型如下:
typedef struct Point
{
int x;
int y;
} Point;
然后初始化程序的完全支撑版本应为:
Point pointArray[9][2] =
{
{ { 1, 1 }, { -1, 1 } },
{ { -1, -1 }, { 1, -1 } },
{ { 1, 0 }, { 0, 1 } },
{ { -1, 0 }, { 0, -1 } },
{ { 0, 5 }, { 1000, 1 } },
// 4 uninitialized rows in the array - populated with zeros
};
最里面的支架围绕着结构;中间的大括号围绕结构对,对应于数组的[2]
维度中的条目。对于阵列的第一个维[9]
,最外面的大括号围绕着可能的9个初始值设定项中的5个。