- ベストアンサー
私は現在、職業訓練校にて勉強し始めた初心者です。
私は現在、職業訓練校にて勉強し始めた初心者です。 C言語の ”char型”の使い分けが解からなく困っております。 本では char型 0~255 又は -127~127 signed char型 -127~127 unsigned char型 0~255 となっており、具体的には”char型”はどう使い分けるのか解かりません。 又、符号付と符号無し以外に存在する意味が解かりません。 どうぞ宜しく御願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは。 C言語の厳密な仕様・規格等については詳しくありませんが、#1さんが 書かれているとおり、 signed も unsigned も付けずに単に、char型として宣言した場合、 符号付き(signed)となるか、符合無し(unsigned)となるかは、 言語仕様としては【未定義】であり、 その扱いは、処理系依存(コンパイラにより定義が異なる) となるようです。(※下記参考サイト参照) ■参考サイト C言語編 第10章 変数のサイズ http://www.geocities.jp/ky_webid/c/010.html [迷信] char 型は符号付き http://www.kijineko.co.jp/tech/superstitions/char-is-signed.html 何故、単一のchar型があるかというと、これは勝手な憶測ですが、 コードの記述を簡単(シンプル)にして、見易くするため? なのかもしれません。 ※本当のところは判りません。(すみません) ちなみに、char型を、8ビットの整数値とした場合、 符号付き(signed)の値の範囲は、-128 ~ +127 となります。(※-127 ~ +127 ではありません。) 以上です。
その他の回答 (1)
- cyacya2000
- ベストアンサー率54% (39/71)
単にcharと宣言したとき、signed charになるのかunsigned charになるのかは処理系に依存します。
お礼
すぐの回答ありがとうございました。
お礼
このような基本的な質問にも快く回答いただき、本当にありがとうございました。