C語言筆記之技巧

2021-07-30 12:35:20 字數 693 閱讀 5143

1.要從邏輯上刪除一段c**,更好的辦法時使用#if指令。

#if 0

statements

#endif

使用/* */雖好,但是當某段**之中如果原來就有注釋存在,這種方法就不能奏效。

2.在c語言中,陣列引數是以引用的形式進行傳遞的,也就是傳址呼叫,而標量和常量是按值傳遞的。在函式中對標量引數的任何修改都會在函式返回時丟失。

所有傳遞給函式的引數都是按值傳遞的。

3.c語言並不存在「string」資料型別,但是在整個語言中,存在一項約定:字串就是一串以nul(乙個nul位元組是指位元組模式全為0的位元組,類似『\0』這樣的字元常量)位元組結尾的字元。nul作為字串終止符,它本身並不被看做字串的一部分。

4.標準並沒有硬性規定c編譯器對陣列下標有效性檢查,而且絕大多數c編譯器確實也不進行檢查。

5.乙個變數ch被申明為整型,而實際上卻被用來讀取字元。這是因為eof是乙個整型值,它的位數比字元型別要多。把ch申明為整型值能防止從輸入讀取的字元意外地被解釋為eof。

6.字串通常儲存在字元陣列中,這也是c語言沒有顯式的字串型別的原因。nul字串不是乙個可列印的字元,這是它被選擇為字串的終止符的原因。即使是空字串(「」),依然存在作為終止符的nul位元組。你可以把字串常量賦值給乙個「指向字元的指標」,但是,你不能把字串常量賦值給乙個字元陣列,因為字串常量的直接值是乙個指標,而不是這些字元本身。

c 語言技巧之traits

traits技術是stl中比較常見的一種c 語言技巧表達方式之一,通過c 模板的能力,將物件型別萃取出來,讓同乙個介面實現對應的功能。特別是在演算法和容器中,可以解耦出具體的物件型別,使得兩者通過迭代器實現鏈結。c 中通過使用迭代器,將stl中的容器和演算法相解耦,在c 中編譯器編譯器需要考慮相應的...

C語言技巧(讀書筆記)

基礎 1 編寫能清晰表達設計思想和意圖的 2 利用注釋闡述和解釋 並進行總結。3 使用有意義且無歧義的命名方法。4 不要自己編寫庫函式已包括的函式,盡可能的使用標準庫c函式。5 讓程式自己檢查執行中的錯誤 編寫除錯 6 謹慎使用goto語句 7 不要修改那些風格差的 重寫他們!8 不要比較浮點數是否...

C 開發小技巧之筆記

一 vc2008如何將lib檔案引入 lib引用有兩種方法 1.pragma comment lib,opengl32.lib 2.選擇project xx properties.linker input additional dependences,在其中加入lib檔名即可。注意要放到工程目錄下。...