<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開(kāi)發(fā)網(wǎng)

      電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 編程學(xué)習(xí) >> C語(yǔ)言 >> 正文

      C語(yǔ)言常見(jiàn)命名規(guī)范

      作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2018/3/30

       1 常見(jiàn)命名規(guī)則

      比較著名的命名規(guī)則首推匈牙利命名法,

      這種命名方法是由Microsoft程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。

      其主要思想是“在變量和函數(shù)名中加入前綴以增進(jìn)人們對(duì)程序的理解”。

      匈牙利命名法關(guān)鍵是:標(biāo)識(shí)符的名字以一個(gè)或者多個(gè)小寫(xiě)字母開(kāi)頭作為前綴;

      前綴之后的是首字母大寫(xiě)的一個(gè)單詞或多個(gè)單詞組合,該單詞要指明變量的用途。

      例如:lpszStr, 表示指向一個(gè)以'\0'結(jié)尾的字符串(sz)的長(zhǎng)指針(lp)變量。

      駱駝(Camel)命名法近年來(lái)越來(lái)越流行,

      在許多新的函數(shù)庫(kù)和Java這樣的平臺(tái)下使用得當(dāng)相多。

      駱駝命名法,正如它的名稱所表示的那樣,指的是混合使用大小寫(xiě)字母來(lái)構(gòu)成標(biāo)識(shí)符的名字。

      其中第一個(gè)單詞首字母小寫(xiě),余下的單詞首字母大寫(xiě)。

      例如:printEmployeePaychecks(),函數(shù)名中每一個(gè)邏輯斷點(diǎn)都有一個(gè)大寫(xiě)字母來(lái)標(biāo)記。

      帕斯卡(Pascal)命名法與駱駝命名法類(lèi)似。

      只不過(guò)駱駝命名法是第一個(gè)單詞首字母小寫(xiě),而帕斯卡命名法則是第一個(gè)單詞首字母大寫(xiě)。

      例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。

      在C#中,以帕斯卡命名法和駱駝命名法居多。

      事實(shí)上,很多程序設(shè)計(jì)者在實(shí)際命名時(shí)會(huì)將駱駝命名法和帕斯卡結(jié)合使用,

      例如變量名采用駱駝命名法,而函數(shù)采用帕斯卡命名法。

      另一種流行的命名規(guī)則稱為下劃線命名法。

      下劃線法是隨著C語(yǔ)言的出現(xiàn)流行起來(lái)的,在UNIX/LIUNX這樣的環(huán)境,以及GNU代碼中使用非常普遍。

      本章所述的命名規(guī)則主要基于下劃線命名法發(fā)展而來(lái)。

      2 函數(shù)的命名

      函數(shù)名使用下劃線分割小寫(xiě)字母的方式命名:

      設(shè)備名_操作名()

      操作名一般采用:謂語(yǔ)(此時(shí)設(shè)備名作為賓語(yǔ)或者標(biāo)明操作所屬的模塊)或者

      謂語(yǔ)+賓語(yǔ)/表語(yǔ)(此時(shí)設(shè)備名作為主語(yǔ)或者標(biāo)明操作所屬的模塊) 等形式,如:

      tic_init()

      adc_is_busy()

      uart_tx_char()

      中斷函數(shù)的命名直接使用 設(shè)備名_isr() 的形式命名,如:

      timer2_isr()

      3 變量的命名

      變量的命名也采用下劃線分割小寫(xiě)字母的方式命名。

      命名應(yīng)當(dāng)準(zhǔn)確,不引起歧義,且長(zhǎng)度適中。如:

      int length;

      uint32 test_offset;

      單字符的名字也是常用的,如i, j, k等,它們通常可用作函數(shù)內(nèi)的局部變量。

      tmp常用做臨時(shí)變量名。

      局部靜態(tài)變量,應(yīng)加s_詞冠(表示static),如:

      static int s_lastw;

      全局變量(尤其是供外部訪問(wèn)的全局變量),應(yīng)加g_詞冠(表示global),如:

      void (* g_capture_hook)(void);

      4 常量及宏的命名

      采用下劃線分割大寫(xiě)字母的方式命名,一般應(yīng)以設(shè)備名作為前綴,

      防止模塊間命名的重復(fù)。如:

      #define TIMER0_MODE_RELOAD 2

      #define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))

      當(dāng)然,看作接口的宏可以按照函數(shù)的命名方法命名,例如:

      #define timer2_clear() (TF2 = 0)

      #define timer0_is_expired() (TF0)

      5 常用縮寫(xiě)詞

      原詞 縮寫(xiě)

      addition add 加

      subtraction sub 減

      multiplication mul 乘法

      division div 除法

      answer ans 響應(yīng)、回答

      array arr 數(shù)組、集合

      average avg 平均

      buffer buf或buff 緩沖區(qū)

      capture cap或capt 捕獲

      check chk 檢查

      count cnt 計(jì)數(shù)器

      column col 列

      control ctrl 控制

      decode dec 解碼、譯碼

      define def 定義

      delete del 刪除

      destination dst或dest 目的

      display disp 顯示

      encode enc 編碼

      environment env 環(huán)境

      error err 錯(cuò)誤

      float flt 浮動(dòng)、浮點(diǎn)

      frequency freq 頻率

      header hdr 開(kāi)始、開(kāi)頭

      index idx 索引、指示、

      image img 影像、鏡像

      increment inc 增加、增量

      initalize init 初始化

      iteration itr 循環(huán)、迭代

      length len 長(zhǎng)度

      memory mem 內(nèi)存

      middle mid 中值

      make mk 制造、形成

      message msg 消息

      number num 數(shù)量、編號(hào)

      operand opnd 操作數(shù)

      optimization opt 最優(yōu)

      operator optr 操作

      packet pkt 消息包

      positon pos 位置

      previous pre或prev 以前的

      pointer ptr 指針

      record rcd 記錄

      receive recv 收到、接收

      result res 結(jié)果

      return ret 返回

      source src 源頭

      stack stk 棧

      string str 字符串

      table tab 表

      temporary tmp或temp 臨時(shí)

      total tot 全部的

      time stamp ts 時(shí)間戳

      value val 值

      Tags:C語(yǔ)言常見(jiàn)命名規(guī)范,C語(yǔ)言,命名規(guī)范  
      責(zé)任編輯:admin
      請(qǐng)文明參與討論,禁止漫罵攻擊。 昵稱:注冊(cè)  登錄
      [ 查看全部 ] 網(wǎng)友評(píng)論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁(yè)面
      下到頁(yè)底
      晶體管查詢
      主站蜘蛛池模板: 亚洲狠狠爱综合影院婷婷| 香蕉国产综合久久猫咪| 亚洲另类激情综合偷自拍| 99久久综合久中文字幕| 亚洲AⅤ优女AV综合久久久| 久热综合在线亚洲精品| 色天使亚洲综合一区二区| 一本久道久久综合狠狠爱| 伊人久久大香线蕉综合网站| 插插插色欲综合网| 九色综合狠狠综合久久| 一本色道久久综合无码人妻| 久久无码无码久久综合综合| 丁香亚洲综合五月天婷婷| 伊人久久亚洲综合影院首页| 奇米综合四色77777久久| 国产成人综合日韩精品无码不卡| 本道久久综合无码中文字幕| 色悠久久久久久久综合网| 久久综合久综合久久鬼色| 色综合久久无码五十路人妻| 综合久久给合久久狠狠狠97色| 亚洲国产日韩成人综合天堂| 国产精品亚洲综合一区在线观看 | 国产美女亚洲精品久久久综合| 思思91精品国产综合在线| 伊人色综合网一区二区三区 | 国产综合精品在线| 色噜噜狠狠狠色综合久| 色综合天天综合网站中国| 久久综合久久综合亚洲| 色狠台湾色综合网站| 日韩综合在线视频| 综合久久一区二区三区| 久久亚洲伊人中字综合精品| 亚洲国产亚洲综合在线尤物| 久久综合鬼色88久久精品综合自在自线噜噜 | 亚洲五月激情综合图片区| 久久综合给合久久国产免费 | 国产色婷婷精品综合在线| 久久99精品久久久久久综合|