# include <stdio.h> typedef struct binode{ int a; struct binode *l; }binode; int main() { int a; int *p; binode s; printf("%d %d",sizeof(a),sizeof(s)); return 0; }結果正確:
4 8
Line 5: error: field 'p' has incomplete type compilation terminated due to -Wfatal-errors.
通過以上測試可以看出。結構體在遞歸定義的時候可以定義本身,但是需要用指針,並且大小和結構體中的其他成員有關係。
如果用變量會出錯,