【发布时间】:2022-01-10 10:13:23
【问题描述】:
我想创建一个结构数组的数组。这里的错误在哪里?实际上,我有 2 个具有 4 个状态(模式)和 3 个参数(a、b、c)的 LED。 提前谢谢你。
typedef struct {
int a;
int b;
int c;
}CfgType;
CfgType Led[4][2];
Led[4][0]=
{
/* Pattern a b c */
/*00*/ /*STATE0*/ { 5 , 100 , 2 },
/*01*/ /*STATE1*/ { 5 , 100 , 1 },
/*02*/ /*STATE2*/ { 100 , 100 , 0 },
/*03*/ /*STATE3*/ { 100 , 100 , 0 },
};
Led[4][1]=
{
/* Pattern a b c */
/*00*/ /*STATE0*/ { 5 , 100 , 2 },
/*01*/ /*STATE1*/ { 5 , 100 , 1 },
/*02*/ /*STATE2*/ { 100 , 100 , 0 },
/*03*/ /*STATE3*/ { 100 , 100 , 0 },
};
【问题讨论】:
-
您不能将任何内容分配给数组。尝试用这些值来初始化它。由于您没有完整的 sn-p,因此无法看到这些部分是否靠近在一起(即紧邻定义的分配者)或位于某些单独的位置。
-
您可以将数组视为有 4 行 2 列。这些行位于偏移量 0、1、2 和 3。
Led[4]是偏移量 4,它在数组之外。