ANSI C 與 C99的不同
阿新 • • 發佈:2018-09-22
c語言標準 多次 定義變量 不同的 使用 進行 變量 發展 sig
由於C語言在發展過程中制定了多個標準,其中ANSI C 和 C99這兩大標準用的最多,但也有很大的差別。不同的編譯軟件所使用的標準不同,在一個編譯軟件中使用其他的C語言標準來寫代碼就會造成一些“不正常”的錯誤。以下列舉了ANSI C 與 C99兩大標準的不同點,以供大家參考。
1. C99中可在任意地方定義變量;而傳統的ANSI C 只能在代碼開頭的地方定義變量。
2. 變量是可變的量,常量是固定不變的量,直接寫在程序裏的,我們稱作直接量(literal),在程序中多次出現的直接量,是magic number不利於閱讀與維護;
C99允許直接定義常量 ,在類型前邊加修飾符 const,這個值不能被修改,read-only variable is not assignable。
ex: const int A=100;
(註意與宏定義相區別)
3. 單行註釋 // 是C99獨有的,ANSI C不支持;而多行註釋 /* */是傳統ANSI C就有的
4. for(int i=0;i<n;i++)這種在for循環裏定義變量是C99獨有的
5. C99在定義數組時,數組的個數可以是變量
5. C99進行數組的集成初始化時,可定位賦值。
ex: int a[10]={[0]=20,[5]=,5,6};
輸出:20,0,0,0,0,5,6,0,0,0
ANSI C 與 C99的不同