だれだよ,こんなプログラム考えたやつ

ほげほげ言いすぎだな.

#include

typedef struct HOGE {int H0GE;struct HOGE *HOGE} HOGE;
struct HOGE variable_1;
HOGE variable_2;
HOGE H0GE;

int main(){
printf("%d\n",sizeof(HOGE));
return 0;
}

今回は実行結果よりも宣言の意味とかだな.

本当は

HOGE HOGE

も通るらしいんだが,GCCは通らなかった.



↓改良版
#include
#include

typedef struct HOGE{
int H0GE;
struct HOGE *HOGE;
}HAGE;

typedef struct HAGE{
HAGE HAGE;
}HOGE;

int main()
{
HOGE H0GE;
H0GE.HAGE.HOGE = (HAGE *)malloc(sizeof(HAGE));
printf("%d\n",sizeof H0GE.HAGE.HOGE->H0GE);
}

これはうぜぇ