1. 程式人生 > >ANSI C 與 C99的不同

ANSI C 與 C99的不同

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的不同