typedef struct test {
int a;
};
int main(void) {
test t;
t.a = 3;
}
上記はコンパイルされません。ただし、構造体を次のように変更すると:
typedef struct {
int a;
}test;
すべて正常に動作します。どうしてこれなの?構造体が typedef と同じ行にあるコード例をたくさん見てきましたが、コンパイルされていません。
typedef struct test {
int a;
};
int main(void) {
test t;
t.a = 3;
}
上記はコンパイルされません。ただし、構造体を次のように変更すると:
typedef struct {
int a;
}test;
すべて正常に動作します。どうしてこれなの?構造体が typedef と同じ行にあるコード例をたくさん見てきましたが、コンパイルされていません。