ISO/IEC 9899:1999

読み:アイエスオウ・アイイースィー・きゅうはちきゅうきゅう・いちきゅうきゅうきゅう
外語:ISO/IEC 9899:1999 英語
品詞:固有名詞

ISO規格によるC(ISO C)の第二版。俗に「C99」と呼ばれる。

目次

日本規格は、JIS X 3010:2003が対応する。

前回の改訂、いわゆるC95が初版に対する追加改訂であったのに対し、こちらは全面的な改訂版となっている。

初版からこの版までの長い年月の間に様々な実装が生まれ、拡張的な仕様が作られて、言語としての利便性も高まってきた。この版では、そのうちの一部を正式な仕様として取り入れている。

国際化Cの最初の全改訂版である。主な仕様変更点は次の通り。

  • 関数定義
    • 暗黙の関数宣言(プロトタイプ宣言なしの関数使用)を動作未定義と規定
    • 暗黙の型宣言(返却値intの自動宣言)の廃止
  • 前定義識別名 __func__ 追加
  • enum宣言での余分なカンマの許容
  • インライン関数 (C++から)
  • restrictポインターの追加
  • 変数を途中で宣言できる (C++から)
  • 指示付きの初期化子の追加
  • 複合直定数
  • 可変長配列などへの対応 (GCC拡張機能から)
  • 新しい予約語の追加
  • 新しいヘッダーファイルの追加
    • inttypes.h 整数型書式変換
    • complex.h 複素数
    • stdbool.h bool型と値
    • tgmath.h 型総称数学関数
    • fenv.h 浮動小数点環境
    • stdint.h 整数型
  • プリプロセッサー
    • //型のコメントの追加 (C++から)
    • 関数型マクロ呼出しでの空引数の許容
    • 可変個数引数マクロ
    • 標準定義マクロの追加
    • 標準プラグマ(#pragma STDC)の追加
      • #pragma STDC FP_CONTRACT {ON|OFF|DEFAULT}
      • #pragma STDC FENV_ACCESS {ON|OFF|DEFAULT}
      • #pragma STDC CX_LIMITED_RANGE {ON|OFF|DEFAULT}
    • 単項演算子 _Pragma の追加
    • サフィックス(接尾辞)が無い時の整数定数の型の認識方法の変更 (intmax_t型、uintmax_t型)
    • 文字列定数とワイド文字列定数の結合を規定
  • 字句
    • ユニバーサルキャラクタ名への対応 (\uxxxxと\Uxxxxxxxx)
    • 識別名(変数名、関数名など)でマルチバイト文字の使用を許容
    • 浮動小数点定数の16進数表記に対応
  • 演算機能
    • 論理値への対応 (_Bool)
    • 64ビット程度以上の精度を持つ整数演算(long long)への対応 (GCC拡張機能から)
    • 整数除算において、結果をすべて0方向に切り捨てることを規格化
    • 複素数への対応 (_Complex、_Imaginary)
    • 数学関係ライブラリの充実化 (POSIX準拠)

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club