最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談C語(yǔ)言中的注釋風(fēng)格小結(jié)

 更新時(shí)間:2019年12月20日 10:03:38   作者:grey_csdn  
今天小編就為大家分享一篇淺談C語(yǔ)言中的注釋風(fēng)格小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

C語(yǔ)言中常用的注釋風(fēng)格有兩種,一種是通過(guò)如下模式進(jìn)行一段代碼的注釋?zhuān)?/p>

/* comment*/

另一種是單行注釋符號(hào):

// comment

學(xué)生時(shí)代的注釋我一般是選用后者,那時(shí)候編碼量十分有限,即使是簡(jiǎn)單的小段落注釋使用的IDE也支持批量添加單行注釋符。而在編碼之中,簡(jiǎn)單的單行注釋進(jìn)行注釋的時(shí)候鍵盤(pán)的操作更為簡(jiǎn)單一點(diǎn)。

不過(guò),工作之后接觸了相應(yīng)的編碼規(guī)范之后,C語(yǔ)言的注釋我基本上放棄了單行注釋的方法,最多僅僅在調(diào)試的時(shí)候做簡(jiǎn)單的使用。

其實(shí),單行注釋是從C++中借鑒來(lái)的,算是C++風(fēng)格的注釋方式。而這種方式在C語(yǔ)言中有時(shí)候會(huì)帶來(lái)一定的差異性,甚至是引入難以察覺(jué)的Bug。把我自己從網(wǎng)絡(luò)或者書(shū)籍中看到的兩個(gè)比較典型的方式列述總結(jié)一下。

示例1:

#include"stdio.h"
 
int main(void)
{
    int a = 0;
 
    a += 5; \
    a = 123;
 
    printf("value of a: %d\n",a);
 
    return 0;
}

代碼的編譯運(yùn)行結(jié)果如下:

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_26>gcc exp_26.c

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_26>a

value of a: 123

代碼其實(shí)很簡(jiǎn)單,第一次對(duì)a進(jìn)行的數(shù)值修改其實(shí)是一個(gè)沒(méi)用的冗余代碼。如果發(fā)現(xiàn)類(lèi)似的問(wèn)題,可能進(jìn)行一下簡(jiǎn)單的屏蔽,修改代碼如下:

#include"stdio.h"
 
int main(void)
{
    int a = 0;
 
    //a += 5; \
    a = 123;
 
    printf("value of a: %d\n",a);
 
    return 0;
}

代碼的編譯運(yùn)行結(jié)果如下:

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_26>gcc exp_26.c

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_26>a

value of a: 0

這個(gè)結(jié)果很多時(shí)候會(huì)出乎很多人的意料,因?yàn)榘l(fā)現(xiàn)結(jié)果居然不再是123!其實(shí),原因就在于屏蔽的那一行代碼最后面多了一個(gè)續(xù)行的符號(hào)。這樣使得注釋的作用持續(xù)到了下一行。其實(shí),很多編譯器在這方面都會(huì)有相對(duì)精準(zhǔn)的判斷給出提示,比如說(shuō)我最近在使用的VIM就能夠通過(guò)顏色的變化提示出第二行也被注釋掉了。而擅長(zhǎng)語(yǔ)義分析的Source Insight在這方面倒是沒(méi)有做好,不知道最新推出的V4版本中是否對(duì)此有所改進(jìn)。

示例2:

#include"stdio.h"
 
int main(void)
{
    int a = 123;
    int b = 23;
    int c;
 
    c = a //*
           //*/b
    ;
   
    printf("value of c:%d",c);
 
    return 0;
}

從《C專(zhuān)家編程》中摘出了這個(gè)例子,按照書(shū)中的介紹,c的賦值運(yùn)算相關(guān)3行在C語(yǔ)言中表示a/b而在C++中表示a。不過(guò),或許是成書(shū)時(shí)間比較早,自我我的機(jī)器以及軟件上,這個(gè)說(shuō)法顯然是不成立了。即使是咋C語(yǔ)言中,上面的表達(dá)式也是表示c = a。不過(guò),程序的可讀性確實(shí)是給了我們一個(gè)不小的挑戰(zhàn)。我專(zhuān)門(mén)注意了一下編輯器對(duì)此的識(shí)別,在此環(huán)節(jié)中,VIM以及Source Insight全都識(shí)別準(zhǔn)確。值得一提的是,前面的這兩個(gè)例子如果使用NotePad ++,編輯器的提示也全都是準(zhǔn)確的。

代碼的編譯執(zhí)行結(jié)果如下:

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_27>gcc exp_27.c

E:\WorkSpace\01_編程語(yǔ)言\01_C語(yǔ)言\exp_27>a

value of c:123

由此看來(lái),很多嵌入式的編碼規(guī)范中要求不能夠用C++單行注釋風(fēng)格的注釋方式還是有一定道理的。雖說(shuō)是帶來(lái)了一定的不方便,但是確實(shí)是能夠避免一些小問(wèn)題的出現(xiàn)。

以上這篇淺談C語(yǔ)言中的注釋風(fēng)格小結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

万宁市| 襄城县| 新民市| 冕宁县| 景宁| 全南县| 乃东县| 乌兰县| 涡阳县| 沾化县| 车致| 固安县| 岳西县| 枞阳县| 靖西县| 班戈县| 剑河县| 通辽市| 阿克陶县| 岱山县| 定边县| 福建省| 鄂尔多斯市| 西藏| 班玛县| 凭祥市| 南华县| 明星| 麻阳| 土默特左旗| 永丰县| 页游| 长白| 靖远县| 碌曲县| 雅安市| 奉节县| 万源市| 安福县| 休宁县| 轮台县|