dポイントプレゼントキャンペーン実施中!

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

C言語の ”char型”の使い分けが解からなく困っております。
本では
char型 0~255 又は -127~127
signed char型 -127~127
unsigned char型 0~255

となっており、具体的には”char型”はどう使い分けるのか解かりません。
又、符号付と符号無し以外に存在する意味が解かりません。

どうぞ宜しく御願い致します。

A 回答 (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/cha …

何故、単一のchar型があるかというと、これは勝手な憶測ですが、
  コードの記述を簡単(シンプル)にして、見易くするため?
なのかもしれません。
※本当のところは判りません。(すみません)

ちなみに、char型を、8ビットの整数値とした場合、
  符号付き(signed)の値の範囲は、-128 ~ +127
となります。(※-127 ~ +127 ではありません。)

以上です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/03/06 19:59

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2010/03/06 20:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!