歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

gcc和vc在定義結構時的一點區別

typedef struct _test {

          _test *p;

} test;

這個結構用vc可以編譯通過,而gcc卻不能。

vc強調結構的標記(_test)與別名(test)不能同名,只要不同名的情況下,struct _test *p可以簡寫為_test *p,即使加上關鍵字struct,也必須不同名才行。

然而gcc卻允許標記和別名完全一樣,但_test *p不能省略掉struct關鍵字(正確的定義應該是struct _test *p),即使不同名也不能省略。

Copyright © Linux教程網 All Rights Reserved