Try   HackMD

C語言教學00 - 標準

撰寫於2018年9月

現代C語言小心得

一開始的C - K&R C

C語言在1970年左右,就已經被發明了。一開始是為了製造「Unix 作業系統」。Brian Kernighan 以及 Dennis Ritchie 撰寫了 The C Programming Language 這本書。這本書被大家奉為當時C語言的臨時標準,稱為「K&R C」。

標準化開始 - ANSI C89 / ISO C90

後來越來越多作業系統使用這門語言編寫,使得正式標準的訂定更加必要。因此ANSI(美國國家標準協會)在1989年訂定了C89標準(又稱ANSI C)。隔年ISO(國際標準化組織)、IEC(國際標準化組織)小幅修改ANSI C成為ISO 9899國際標準,又稱為C90。因為國際標準的公布,ANSI不再訂定新標準。

第一次大修訂 - C99

經過一些小幅度的修正以後,1999年的ISO發布了新的C99標準,成為現今大部分教學使用的一個國際標準。現在大部分也使用此標準。

最近的修訂 - C11

2011年的C語言標準成為最新的C語言標準,一開始C11標準的實作有困難,多執行續的部分一直未完成。直到2018年,glibc八月一日的2.28版本終於發布,我們已經可以使用C11標準了。

我使用甚麼呢?

在我學習C語言的時候,我沒有特別注意標準版本的問題,經過多年來大雜燴,看過各種的網路教學以後,我大部分還是認識C99的標準。但自從某些資料輸入我的腦海,我開始「讀標準」,因為標準文件其實也沒有想像中的多頁。但是我覺得一個一個單字的閱讀是非常乏味的,所以決定利用精神撰寫一份教學,邊寫邊查。