ISO C90 與 ISO C99 之間的差異在那?
===
## 數值運算
### `math.h`
> [name=C90 與 C99 都有][color=#CB1B45]
p593-597
### `stdint.h`
> [name=只存在 C99][color=#CB1B45]
### `inttype.h`
> [name=只存在 C99][color=#CB1B45]
### `complex.h`
> [name=只存在 C99][color=#CB1B45]
### `tgmath.h`
> [name=只存在 C99][color=#CB1B45]
### `fenv.h`
> [name=只存在 C99][color=#CB1B45]
## 文字表示

:::warning
**「很多人都以為字串很簡單,但不對,自從 C99 以後,字串非常複雜。」 - jserv**
:::
[<你所不知道的C語言 - 指標篇>](https://hackmd.io/s/HyBPr9WGl#%E9%87%8D%E6%96%B0%E6%8E%A2%E8%A8%8E%E3%80%8C%E5%AD%97%E4%B8%B2%E3%80%8D)裡提到現代 C 語言在字串上分為兩大種類
* byte string: 使用 `char` 作為最小操作單位,每個 char 至少要 8 bits
* wide string: 使用 `wchar_t` 作為最小操作單位,以便支援 Unicode 或多國語文 (意味著變動長度的編碼)
byte string 是原始 C90 對於 string 的定義,不過 string 這樣的定義在 C99 為了相容多國語言,使用了 `wchar_t` 動態長度編碼
### universal character names
> [name=只存在 C99][color=#CB1B45]
### `wchar.h`
> [name=只存在 C99][color=#CB1B45]
### `wctype.h`
> [name=只存在 C99][color=#CB1B45]
## 程式流程
### function designator
## 參考資料
K. N. King, C Programming: A Modern Approach, 2008