读书人

c语言中在构造体声明的时候不是需要初

发布时间: 2013-03-22 09:49:50 作者: rapoo

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也是数组

这样试试
[解决办法]
结构体申明的时候是不需要初始化的

读书人网 >C语言

热点推荐