<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 134,comments - 22,trackbacks - 0
    C語言由Dennis M. Ritchie在1973年設計和實現。從那以后使用者逐漸增加。到1978年Ritchie和Bell實驗室的另一位程序專家Kernighan合寫了著名的《The C Programming Language》,將C語言推向全世界,許多國家都出了譯本,國內有一些C語言書就是這本書的翻譯或者編譯。由這本書定義的C語言后來被人們稱作 K&R C。

    隨著C語言使用得越來越廣泛,出現了許多新問題,人們日益強烈地要求對C語言進行標準化。這個標準化的工作在美國國家標準局(ANSI)的框架中進行(1983-1988),最終結果是1988年10月頒布的ANSI標準X3.159-1989,也就是后來人們所說的ANSI C標準。由這個標準定義的C語言被稱作ANSI C。

    ANSI C標準很快被采納為國際標準和各國的標準。國際標準為ISO/IEC 9899-1990,中國國家標準GB/T 15272-94是國際ISO標準的中文翻譯。

    ANSI C標準化工作的一個主要目標是清除原來C語言中的不安全、不合理、不精確、不完善的東西。由此也產生了ANSI C與K&R C之間的差異。從總體上看,這些差異反應的是C語言走向完善、走向成熟。



    --------------------------------------------------------------------------------

    ANSI C 對 K&R C 的修訂
    (本段根據《C Programming Language》和C語言標準整理。不求完整,希望列出最常見的差異)
      
      

    對于源文件內部的標識符,有效的最小長度擴充到31個字符。文件間連接時,標識符的最小有效長度仍然為6個字符。(許多實現都支持更大的長度)
    增加了幾個新關鍵字:void,const,volatile,signed,enum。拋棄了老關鍵字entry。
    在換意字符 \ 之后寫非規定的序列,其作用確定為無定義。
    規定8和9都不是八進制數的合法字符。
    引進了數的后綴字符:整數的U和L,浮點數的F和L。
    規定連續出現的字符串常量將被拼接在一起。
    引進了“寬字符”的概念。
    將字符也確定為帶符號(signed)和不帶符號(unsigned)的。
    丟棄了long float(原來作為double的同義詞)。
    引入了void類型,用 (void*) 表示通用指針的類型(過去人們通常用 (char*))。
    對算術類型規定了最小表示范圍。要求每個C語言系統用頭文件(<limits.h>;和<float.h>;)說明實現中的具體規定。
    引進了枚舉定義enum。
    采用了來自C++的類型修飾符,如const。
    規定字符串常量是不可修改的。
    改變了算術類型的隱含轉換規則。
    刪去了一些過時賦值運算符,如 =+。規定賦值運算符都是基本單詞,如 += 之間不能有空格分隔。
    引進了與一元 - 運算符對應的一元 + 運算符。
    指向函數的指針可以直接放在函數調用的位置,不必顯式地寫間接操作。
    允許結構地整體賦值,作為函數參數和返回值傳遞。
    允許將取地址運算符作用于數組,得到的是指向有關數組的指針。
    標準規定 sizeof 運算符的返回值為 size_t 類型(某個無符號整型),這一類型在標準頭文件<stddef.h>;里定義。同時在那里定義的還有 ptrdiff_t 類型,它是指針減運算的結果類型。
    規定取地址運算符不能作用于 register 變量。
    規定移位表達式的類型為其左運算對象的類型。
    允許建立指向過數組末元素一個位置的指針,以及對它的算術運算和關系運算。
    (從C++)引進了包含參數類型的函數原型概念,引進了變長參數表函數的概念。仍允許老的形式,但僅僅是作為過時形式保留。
    標準規定任何局部聲明的作用域僅僅是當前的塊(復合語句)。
    規定函數參數作為加入函數體(復合語句)的聲明,因此不能用變量聲明去覆蓋。
    有關名字空間的規定:所有結構、聯合和枚舉標記在一個名字空間里,標號是另一個名字空間。
    聯合變量在定義時也可以初始化,規定初始化其第一個成分。
    自動結構、聯合和數組也可以初始化,但限制其初始化方式(其中只能包含常量表達式)。
    帶大小描述的字符數組也可以用大小與之相同的字符串常量初始化(結束的 \0 被刪除)。
    開關語句的控制表達式和case標號可以是任何整型的(包括字符類型)。
    posted on 2009-05-18 11:03 何克勤 閱讀(541) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 亚洲国产精品乱码在线观看97| 黑人精品videos亚洲人| 亚洲一级免费视频| 男人j进入女人j内部免费网站| 亚洲日韩欧洲乱码AV夜夜摸| 国产无遮挡裸体免费视频在线观看| 亚洲欧洲成人精品香蕉网| 免费在线看黄网站| 97久久精品亚洲中文字幕无码| 6080午夜一级毛片免费看| 91亚洲国产成人久久精品| 无人在线观看免费高清视频| 亚洲av第一网站久章草| 亚洲精品专区在线观看| 成人无码精品1区2区3区免费看| 亚洲成A人片在线观看WWW| 1000部夫妻午夜免费| 亚洲乱妇熟女爽到高潮的片| 四只虎免费永久观看| 中文字幕在线视频免费观看| 亚洲视频一区调教| 成年私人影院免费视频网站| 日日狠狠久久偷偷色综合免费| 自拍偷自拍亚洲精品被多人伦好爽| 人人揉揉香蕉大免费不卡| 亚洲av无码国产综合专区| 国产精品免费看久久久久| 国产精品福利片免费看| 久久国产亚洲精品无码| 日本二区免费一片黄2019| 久久久受www免费人成| 亚洲字幕在线观看| 亚洲国产精品无码久久青草| 99久久免费中文字幕精品| 亚洲成aⅴ人片久青草影院按摩| 91麻豆国产自产在线观看亚洲| 免费福利在线播放| 亚美影视免费在线观看| 久久亚洲最大成人网4438| 久久精品国产精品亚洲| 99久久99热精品免费观看国产|