久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

c語言之基礎(chǔ)知識

 心不留意外塵 2016-05-13

http://blog.csdn.net/zzran/article/details/8667074

2013

1,,“\”引起的錯誤:

在我們現(xiàn)在的編譯器中如果寫下面這段程序

  1. int main() {  
  2.       
  3.     // create file in c:\  
  4.     ofstream outupt("test.txt");  
  5.       
  6. }  

編譯就會用字符的顏色來提示我們,,這兩行內(nèi)容都被當(dāng)做了注釋的內(nèi)容,但是如果在vim下編寫程序,,就不會出現(xiàn)代碼顏色不一樣的問題,,導(dǎo)致程序出錯,是什么原因呢,,是因為"\"的問題,,它在c++或者python語言中,,代表的含義都是本行尚未結(jié)束,下一行仍和本行是一個整體,,所以編譯器會認(rèn)為,,兩行都是注釋,最終導(dǎo)致錯誤,。


2,, 想想這個表達(dá)式: y = x/*p 他的結(jié)果是什么呢? 有可能是x的值除以*p的值的結(jié)果賦給y,,但是在實(shí)際編譯中會出錯,為什么,? 因為編譯器會把  /*當(dāng)成注釋的開始,,之后的內(nèi)容都是注釋,但是要結(jié)束注釋需要找到匹配的*/,,但是沒有找到,,所以編譯會出錯。如果向改正程序的話,,在/, * 之間加一個空格,,或者給他們加一個(),就解決了,。


3,,  #define  PCHAR char*

      PCHAR p1, p2;

      typedef char* pchar;

      pchar p3, p4;

那sizeof p1, p2, p3, p4都是什么呢,結(jié)果是4,, 1,, 4, 4,,結(jié)果很奇怪吧,,原因要追溯到編譯器對#define的處理,是對#define定義的東西在預(yù)編譯的時候進(jìn)行替換,,也就是說真正編譯的時候是這個樣子 char * p1, p2;這樣該明白p2的值是1的原因了吧,。


4,enum enum_value {

VALUE_ONE,

VALUE_TWO,

VALUE_THREE,

}enum_val;

測試一下sizeof enum_val的值,,看是多少,,你會發(fā)現(xiàn)是4,其實(shí)這個原因很簡單,,enum 定義的變量只是一個UINT類型,,而它生命的VALUE_ONE,VALUE_TWO, 只是enum變量的取值范圍而已,,所以enum不是像struct那樣是個結(jié)構(gòu)體,,它表示的只是一個集合,。


5, #define,,因為在預(yù)編譯的時候就會做替換,,所以他不會導(dǎo)致不必要的內(nèi)存分配。同時宏看起來像一個函數(shù),,但不會招致函數(shù)調(diào)用不必要的開銷,。

在定義宏的時候,必須記住為所以得實(shí)參加上小括號,,但即使加上了小括號,,也會遭遇麻煩:

#define CALL_WITH_MAX(a, b) f((a) > (b) ? (a) : (b))

看看下面的調(diào)用:

int a = 5, b = 10

CALL_WITH_MAX(++a, b)

CALL_WITH_MAX(++a, b + 10) 把實(shí)參替換一下就可以看到,a的遞增次數(shù)取決于它被拿來和誰比較,。


6, int a[6], sizeof(a[6]) 為什么不會出錯,? 因為sizeof 是一個關(guān)鍵字,關(guān)鍵字求值是在編譯的時候,,雖然并不存在a[100]這個元素,,但是這里并沒有真正的去訪問a[6], 而是僅僅根據(jù)數(shù)據(jù)元素的類型確定其值,。 那么函數(shù)引用a[6]就會出錯,,是因為函數(shù)求值是在運(yùn)行的時候。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多