0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト150:デフォルトの名無しさん 20/09/08 09:53:15.41 zoI9JNor.net かわいいw 151:デフォルトの名無しさん 20/09/08 10:55:42 0vfIbeP0.net ちょっと忘れたから、推測だけど、 a.str="aaa"; "aaa" を右辺で使うと、先頭要素のアドレスに変換されるとか? 例えば、4バイトのサイズで、10~13 アドレスに存在する場合に、10が代入されるとか char str[32]; 一方、ここにはアドレスじゃなくて、aaa\0 という4バイトの実体を代入しないといけないとか 152:デフォルトの名無しさん 20/09/08 11:16:05 h4K4tlm9.net 意図してるだろうことを無理してやるなら str[0] = 'a'; str[1] = 'a'; str[2] = 'a'; str[3] = '\0'; でできる.そしてこれをするためにstrcopyがある 153:デフォルトの名無しさん 20/09/08 15:36:44.61 JkCXGknl.net >>148 型が違うし 154:デフォルトの名無しさん 20/09/08 15:57:15.69 SNM207t1.net 出来ない訳じゃないんだよな typedef struct { char b[4]; } A; int main(void) { A b = {1, 2, 3, 4}; A a; a = b; // ok a.b = b.b; // bad return 0; } 自分で for で配列要素代入すれば良い訳で 面倒だから memcpy や strcpy 使ってるだけ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch