C99
(ANSI C/C89)/C90 ← C99 → C11
C規格のひとつ
ISO C99 (1999年)
ISO/IEC 9899:1999
変数の宣言を先頭じゃなくてもできるようになった
1行コメントの//が使えるようになった
code:for.c
void func() {
for (int i = 0; i < 10; i++) {
// ...
}
}
暗黙的なintの削除
新しいデータ型の追加
long long intの追加
_Bool
新しいヘッダの追加
inttypes.h 整数型書式変換
complex.h 複素数
stdbool.h bool型と値
tgmath.h 型総称数学関数
fenv.h 浮動小数点環境
stdint.h 整数型
複合リテラル(compound literals)
Compound literals (since C99) - cppreference.com
restrictキーワードの追加
インライン関数(inline function)
指示付き初期化子(designated initializer)
構造体の初期化がかなりしやすくなる機能
code:memo
struct something my_struct = {
.field_1 = value,
.field_2 = value,
...
};
ref: On the initialization of structures 【LWN.net】
.field_1、.field_2が指示子(designator)
Web上で見れる規格書
ISO/IEC 9899:TC2
ISO/IEC 9899:TC3
参考
ISO/IEC 9899:TC2
ISO/IEC 9899:TC3
C99 - Wikipedia
On the initialization of structures 【LWN.net】
Array initialization - cppreference.com
メモ
プログラミング言語 C の新機能
【C99】 第0回 はじめに | 株式会社きじねこ
DCL21-C. 複合リテラルの記憶域を理解する
restrict - Wikipedia
C言語の最新事情を知る: C99の仕様 - Build Insider
Status of C99 features in GCC - GNU Project
Google.icon C99(日)
Google.icon C99 C規格(日)
Google.icon C99(英)
Google.icon C99 C Standard(英)
Wikipedia.icon
C99 - Wikipedia(日)
C99(検索) - Wikipedia(日)
Wikipedia.icon
C99 - Wikipedia(英)
C99(検索) - Wikipedia(英)