>>49
char foo[] = "abcd";
ってのは
char foo[] = {'a', 'b', 'c', 'd'};
の糖衣構文だ。この構文を見て判るように、構造体の初期化と同じである。

構造体メンバの直接代入ができないんだから、配列でできなくてもいいだろ。