Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

6.3.5 整数定数

式と同様に、ある整数定数の型の規則も変更されました。K&R C では、接尾辞なしの 10 進定数の型が int になるのは、その値が int に収まる場合だけでした。接尾辞なしの 8 進数定数または 16 進数定数の型が int になるのは、その値が unsigned int に収まる場合だけでした。それ以外の場合、整数定数の型は long でした。したがって、値が結果の型に収まらないことがありました。1990 ISO/IEC C 規格では、定数の型は、次のリストのうち、値を格納できる最初の型となります。

  • 接尾辞なし 10 進数: intlongunsigned long

  • 接尾辞なし 8 進数または 16 進数: intunsigned intlongunsigned long

  • 接尾辞 U 付き: unsigned intunsigned long

  • 接尾辞 L 付き: long unsigned long

  • 接尾辞 UL 付き : unsigned long

-xtransition オプションを使用するとき、関係する定数の型規則によって式の動作が異なる可能性がある場合は ISO C コンパイラは式について警告します。古い整数定数型規則が使用されるのは、移行モードだけです。ISO モードと準拠モードでは新しい規則が使用されます。


注 -  接尾辞なしの 10 進定数の型規則は、1999 ISO C 規格に従って変更されています。整数定数を参照してください。