C语言结构体的问题
程序代码:#define uchar unsigned char
uchar p0_data[]={0,1};
uchar p1_data[]={0,1};
uchar p2_data[]={0,1};
uchar p3_data[]={0,1};
struct led_data
{
uchar P0_DATA;
uchar* P1_DATA;
uchar* P2_DATA;
uchar* P3_DATA;
}stled={&p0_data[0],&p1_data[0],&p2_data[0],&p3_data[0]}; 这样一个结构体定义和初始化编译器是不报错的。我要是想先定义,再初始化:
程序代码:#define uchar unsigned char
uchar p0_data[]={0,1};
uchar p1_data[]={0,1};
uchar p2_data[]={0,1};
uchar p3_data[]={0,1};
struct led_data
{
uchar P0_DATA;
uchar* P1_DATA;
uchar* P2_DATA;
uchar* P3_DATA;
}stled;
//stled={&p0_data[0],&p1_data[0],&p2_data[0],&p3_data[0]};
stled.P0_DATA = &p0_data[0];
stled.P1_DATA = &p1_data[0];
stled.P2_DATA = &p2_data[0];
stled.P3_DATA = &p3_data[0];
这样的话,编译器会报错:1.C(17): error C129: missing ';' before '.'这是为什么呢???
[ 本帖最后由 风雨彩虹88 于 2014-1-23 20:53 编辑 ]






