struct と typedef struct
struct と宣言すると変数宣言のときに struct struct_name variable_name という形で書かないといけない。たとえば以下のような感じ。
#include <stdio.h> #include <stdlib.h> struct hoge { int fuga; }; int main(int argc, char *argv[]) { struct hoge h; h.fuga = 1; printf("%d\n", h.fuga); exit(0); }
もし struct hoge h ではなく hoge h と書いたら以下のようにエラーがでます。
Read More$ make mkdir -p bin gcc ./src/main.c -o ./bin/main -Wall ./src/main.c: In function ‘main’: ./src/main.c:9:5: error: unknown type name ‘hoge’ hoge h; ...