struct Data { char *n; char *m; }; int main(void) { struct Data data[/url] = { {"Suzuki", "Taro"}, {"Sato" , "Taro"} }; return 0; }のように、なぜ、メンバ変数がポインタなのに文字列を代入してもよいのでしょうか?
前に、ここでポインタについて質問させてもらったときに、
char *str;
ではデータを入れるための領域は確保されていません。
char a100[5];
とかけば5バイトのものが入れられる入れ物が用意されます。
文字列を入れたいなら必要なバイト数先に確保しなくてはなりません。
と教えてもらったので、メンバ変数を今回のようにポインタではなく、配列にしないといけないような気がするのですが、どうなのでしょうか?
よろしくお願いします。