next up previous
Next: 練習問題 Up: 例 2: 再帰(recursion) Previous: 例 2: 再帰(recursion)

型に対する修飾語

上のプログラムで, 関数 sum の返す値の部分は unsigned longと なっています. これは, 変数の型に対する修飾語(形容詞)です. 通常の型が持つ範囲を少しだけ変化させる時に使います.


long 型が本来持っている値の範囲を拡大する可能性がある.
short 型が本来持っている値の範囲を縮小する可能性がある.
unsigned 符号(正負)がつかない.
singned 符号がつく.


現在では, long, short を使う事はまれです. また, 単に long や short と 書いた場合は, 各々 long int, short int の意味で解釈されます. 上で可能性があると書きましたが, 修飾語を書いても値の範囲が全く 変化しない事があります. 変化する, しないは処理系(コンパイラ) によって挙動が異なります. 注意して欲しいのは, 処理系とコンピュータの 機種は無関係だと言う事です. つまり, ひとつの機種でも複数の C コンパイラ がある事があり, 処理系依存と言うのは, そのコンパイラ依存という事です. プログラムを組む時には, 必ずコンパイラの挙動も知る必要があります.

unsigned は, 上のように正の値しか使わない事が, あらかじめわかっている 時には有効です.

基本変数型のうち, char 以外は符号が必ずつきます. しかし char 型(8ビットの整数)は, 処理系によって符号がつくものとつかないものが あります. signed は char 型に対してのみ用いられます.



Next: 練習問題 Up: 例 2: 再帰(recursion) Previous: 例 2: 再帰(recursion)