C言語なら俺に聞け(入門編)Part 58at TECHC言語なら俺に聞け(入門編)Part 58 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト350:デフォルトの名無しさん 09/12/20 03:19:20 >>343 これを試してみ char a[11]; a = "こんにちわ"; VBとかJavaに慣れてると、Cの配列や文字列は扱いづらいよね 最初のうちは参考書をちゃんと見た方がいいよ 351:デフォルトの名無しさん 09/12/20 03:26:34 a[10]が '\0' ってこと? 352:デフォルトの名無しさん 09/12/20 03:42:52 >>347 配列と文字列リテラルは一緒じゃないよ。 文字列リテラル"こんにちは"は、その時点でメモリのどこかに確保されてるわけじゃない。 確保されてない領域のアドレスを代入しても意味が無い。 配列がポインタに成り下がるのは"右辺"のみ。配列の内容はあくまで[20]の部分。 アドレスじゃなくて配列の内容を書き換えたいのだから、単純な代入ではできない。 353:デフォルトの名無しさん 09/12/20 04:06:47 char a[20] = "こんにちわ"; と char *p = "こんにちわ"; は全くの別物。 354:デフォルトの名無しさん 09/12/20 04:12:26 将来的に char a[20]="因習文法"; は禁止される予定 SJISとして char a[20]={ 0["一貫文法"],1["一貫文法"],2["一貫文法"],3["一貫文法"], 4["一貫文法"],5["一貫文法"],}; てな感じしか許されなくなる可能性も示唆 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch