[1794] Re:char hoge = 'A';
投稿者:(ぱ)こと管理人
2012/02/27 01:45:30
どうもです。
>「A」の文字コードは決まっていないし、charがsignedになるかunsignedになるかは処理系によるので、結局この代入自体が処理系定義になるわけですよね。
確かにそうなりそうに思うのですが……
>よくchar配列の初期化の例で、
>
>char hoge[] = "ABC";
>
>は
>
>char hoge[] = {'A', 'B', 'C', '\0'};
こういう説明は私もしていますし、でも確かに処理系定義だと思います。
これが
>char hoge[] = {'ア', 'イ', 'ウ', '\0'};
だったら間違いなく違和感があると思うのですが。
まあ、'A'がunsigned char側に割り当てられるような処理系はまずないだろうという前提を、たいていのCの入門書著者は置いてしまっているのだと思います。私も含めて。