構造体を色んなソースで使いまわしたいのですが上手くいきません。

 共通ヘッダ: typedef struct TAG TYPE_NAME;
          TYPE_NAME nantoka1;

   ソースA: struct TAG { int a; int b; };

   ソースB: nantoka1 = { 3, 5 }

こんな風にしてみたんですが、ソースBは 'TAG' を認識してくれません。
どうすればいいでしょうか