hoge = malloc(sizeof(struct HOGE *)) と間違えることはめったにないけど
hoge = malloc(sizeof(hoge)) と間違えることは結構ありそうと思うのは俺だけ?
どっちもコンパイラが警告できないのが嫌らしいけどね