• ベストアンサー

私は現在、職業訓練校にて勉強し始めた初心者です。

私は現在、職業訓練校にて勉強し始めた初心者です。 C言語の ”char型”の使い分けが解からなく困っております。 本では char型 0~255 又は -127~127 signed char型 -127~127 unsigned char型 0~255 となっており、具体的には”char型”はどう使い分けるのか解かりません。 又、符号付と符号無し以外に存在する意味が解かりません。 どうぞ宜しく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#144013
noname#144013
回答No.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 ではありません。) 以上です。

samurai-jp
質問者

お礼

このような基本的な質問にも快く回答いただき、本当にありがとうございました。

その他の回答 (1)

回答No.1

単にcharと宣言したとき、signed charになるのかunsigned charになるのかは処理系に依存します。

samurai-jp
質問者

お礼

すぐの回答ありがとうございました。

関連するQ&A

専門家に質問してみよう