回答受付が終了しました

char型において、

補足

また、文字列abが64bitのpcのメモリに保存されるイメージとして、 0000 0000〜0x61 0x62(8バイトあるいは64bit) あるいは、 0000 0000〜0000 0x61(8バイトあるいは64bit) 次のメモリ 0000 0000〜0000 0x62(8バイトあるいは64bit) のどちらのイメージが正しいでしょうか?

回答(5件)

0

"ab"は3バイトです。 あなたは「なぜ扱えるのか?」と問うていますが、実のところ『扱えていません』よ。 C言語を学ぶのなら覚えておきましょう。「コンパイルエラーが出力されなかったからといって正しく動作するとは限らない」と。 char型変数にナニが代入できようと、char型変数が扱えるのは-128~127の範囲の整数だけです。

0

C言語では、文字列は0(文字の0ではなく数値の0です)で終わるchar型配列で扱います。たとえば、abという文字列は、''a', 'b , 0という要素数3の配列になります。

0

charの後に変数があればそこのエリアに入ります。

0

あの、64bitpcの1つのメモリは64bitですよね?だとしたら、文字aはint aは1バイトなので、64bit中の1バイト(0x61)を使うのでしょう… - Yahoo!知恵袋 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14246839814?fr=and_other こちらに書きました。 この質問方法は例の人かしら………………