C言語なら俺に聞け 158at TECH
C言語なら俺に聞け 158 - 暇つぶし2ch842:はちみつ餃子
22/07/12 18:30:46.85 AnYAkaOT0.net
そう。 >>827 の説明が正しい。
char の符号は処理系定義かつ signed char とも unsigned char とも異なる独立した型。
signed char か unsigned char のどちらかと別名という可能性もないので、
C++ のオーバーロードや C の _Generic で三種類に分岐することは出来るよ。
char は整数だから他の整数型との一貫性で考えれば符号付きになるのが自然なようにも思えるが……、
実行基本文字集合は char で (char が符号有りだとしても) 正の値になることを
要求している (C99 だと 6.2.5 に書いてある) ので各環境が採用している文字コードによっては
符号無しにせざるを得なかったのだと思う。
EBCDIC とかだとどうしてもそうなる。
まあ負の文字コードが有っても辻褄合わせは出来たとは思うんだが、
仕様が成立した時点でそうでない想定をしているコードが結構あったりしたんじゃないかな。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch