c语言中在结构体声明的时候不是需要初始化吗
typedef struct
{
u8 box[2];
u16 color;
u8 next;
}Sha_Struct;
typedef struct
{
u16 rdm;
u16 posx,posy;
Sha_Struct shapes[19]=
{
{0x88,0xc0,0x0,1}, //L
{0xe8,0x0,0x0,2},
{0xc4,0x40,0x0,3},
{0x2e,0x0,0x0,0},
{0x44,0xc0,0x1f,5}, //反L
{0x8e,0x0,0x1f,6},
{0xc8,0x80,0x1f,7},
{0xe2,0x0,0x1f,4},
{0x8c,0x40,0xf81f,9}, //反Z
{0x6c,0x0,0xf81f,8},
{0x4c,0x80,0xffe0,11}, //Z
{0xc6,0x0,0xffe0,10},
{0x4e,0x0,0x7ff,13}, //凸
{0x8c,0x80,0x7ff,14},
{0xe4,0x0,0x7ff,15},
{0x4c,0x40,0x7ff,12},
{0x88,0x88,0xf800,17}, //长条
{0xf0,0x0,0xf800,16},
{0xcc,0x0,0xf81f,18} //立方体
};
}Tet_Struct;
首先声明了一个结构体Sha_Struct,然后另外一个结构体里面声明了一个结构体组Sha_Struct shapes[19]=
但是为什么编译器说这里有错误,expected a ";" 到底是为什么呢?
[解决办法]
{0x88,0xc0,0x0,1},
改成
{{0x88,0xc0},0x0,1},
box也是数组
这样试试
[解决办法]
结构体申明的时候是不需要初始化的