gcc和vc在定义结构时的一点区别

2014-11-24 11:47:47 · 作者: · 浏览: 2

typedef struct _test {


_test *p;


} test;


这个结构用vc可以编译通过,而gcc却不能。


vc强调结构的标记(_test)与别名(test)不能同名,只要不同名的情况下,struct _test *p可以简写为_test *p,即使加上关键字struct,也必须不同名才行。


然而gcc却允许标记和别名完全一样,但_test *p不能省略掉struct关键字(正确的定义应该是struct _test *p),即使不同名也不能省略。