<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • C語(yǔ)言怎樣定義和聲明全局變量和函數(shù)最好

    時(shí)間:2020-11-23 18:04:49 筆試題目 我要投稿

    C語(yǔ)言怎樣定義和聲明全局變量和函數(shù)最好

      首先, 盡管一個(gè)全局變量或函數(shù)可以(在多個(gè)編譯單元中) 有多處“聲明”, 但是“定義” 卻只能允許出現(xiàn)一次。定義是分配空間并賦初值(如果有) 的聲明。

      最好的安排是在某個(gè)相關(guān)的.c 文件中定義, 然后在頭文件(.h) 中進(jìn)行外部聲明, 在需要使用的時(shí)候, 只要包含對(duì)應(yīng)的頭文件即可。定義變量的.c 文件也應(yīng)該包含該頭文件, 以便編譯器檢查定義和聲明的一致性。這條規(guī)則提供了高度的可移植性: 它和ANSI C 標(biāo)準(zhǔn)一致, 同時(shí)也兼容大多數(shù)ANSI 前的編譯器和連接器。

      Unix 編譯器和連接器通常使用“通用模式” 允許多重定義, 只要保證最多對(duì)一處進(jìn)行初始化就可以了; ANSI C 標(biāo)準(zhǔn)稱這種行為為“公共擴(kuò)展”, 沒有語(yǔ)帶雙關(guān)的意思。

    C語(yǔ)言怎樣定義和聲明全局變量和函數(shù)最好

      可以使用預(yù)處理技巧來使類似DEFINE(int, i);的語(yǔ)句在一個(gè)頭文件中只出現(xiàn)一次, 然后根據(jù)某個(gè)宏的設(shè)定在需要的`時(shí)候轉(zhuǎn)化成定義或聲明。

      但不清楚這樣的麻煩是否值得。如果希望讓編譯器檢查聲明的一致性, 一定要把全局聲明放到頭文件中。特別是, 永遠(yuǎn)不要把外部函數(shù)的原型放到.c 文件中: 通常它與定義的一致性不能得到檢查, 而矛盾的原型比不用還糟糕。

    【C語(yǔ)言怎樣定義和聲明全局變量和函數(shù)最好】相關(guān)文章:

    Javascript函數(shù)的定義和用法分析11-15

    有關(guān)php parse-str() 函數(shù)的定義和用法11-15

    c#和javascript函數(shù)相互調(diào)用示例11-14

    怎樣建立和理解非常復(fù)雜的聲明?12-19

    工傷的定義和范圍12-16

    土地的定義和特征11-15

    malloc()和free()函數(shù)區(qū)別10-08

    闡釋詞的定義和來源08-14

    金融期權(quán)的定義和特征08-26

    主站蜘蛛池模板: 国产精品一区在线播放| 99爱在线精品免费观看| 亚洲乱码国产乱码精品精| 老司机99精品99| 亚洲精品无码久久毛片| 精品视频一区二区三区免费| 亚洲精品无码专区在线播放| 91人前露出精品国产| 精品亚洲国产成AV人片传媒| 国产色婷婷精品综合在线| japanese乱人伦精品| 亚洲精品无码激情AV| 国产成人亚洲精品影院| 精品国产乱码久久久久久1区2区| 国产中文在线亚洲精品官网| 成人精品在线视频| 无码精品人妻一区二区三区人妻斩| 成人午夜精品亚洲日韩| 国产精品美女久久久久久2018| 国产成人1024精品免费| 9久久9久久精品| 亚洲AV第一页国产精品| 欧美日韩在线精品一区二区三区激情综合| jizz国产精品网站| 亚洲精品成人片在线播放| 久久精品国产一区二区| 国产成人1024精品免费| 久久福利青草精品资源站| 国产精品ⅴ无码大片在线看| 亚洲精品二区国产综合野狼| 久久精品国产亚洲精品| 国产久爱免费精品视频| 大伊香蕉精品一区视频在线| 亚洲国产精品无码成人片久久| 久久免费99精品国产自在现线| 国产高清在线精品一区小说 | 中文字幕成人精品久久不卡| 国产午夜福利精品一区二区三区| 亚洲国产精品一区二区第一页免 | 国产精品热久久无码av| 国产呦小j女精品视频|