>>122
あ、すみません!
S1->S2[a].i = 001519 ;
をやる前に、

struct S1 *S1 ;

となってました。
この場合、また型名と変数名が同じなので、
S1->
がどっちを指してるか分からないのですが・・・(n