預處理也稱為預編譯,它為編譯做預備工作,主要進行**文字的替換工作,用於處理#開頭的指令,其中預處理器產生編譯器的輸出。
特點如下:
採用取反操作
兩者都是替乙個物件取乙個別名,以此來增加程式的可讀性,不同之處:
內聯函式和普通函式最大的區別在於其內部的實現方面上,普通函式在被呼叫時,系統首先要跳躍到該函式的入口位址,執行函式體,執行完成後,在返回到函式呼叫的地方,函式始終只有乙個複製;而內聯函式則不需要進行乙個定址的過程,當執行到內聯函式時,此函式展開,如果在n處呼叫了此內聯函式,則此函式就會有n個**段的複製。
define既可以替代常數值,又可以替代表示式,甚至是**段,但是容易出錯。而const得引入可以增加程式得可讀性,它使程式得維護與除錯變得更加方便。主要差異:
程式設計師面試題彙總之位操作
一般而言,兩者的平均值位 x y 2。採用這種方法,當兩個數比較大時,可能會存在資料溢位的情況,採用位運算可以避免這個問題。x y x y 1 方式表達的就是求解x與y的平均數,而且位運算相比除法運算,效率更高。x y表示的是去取出x和y二進位制中都為 1 的所有位,x y表示的是x與y中有乙個位 ...
程式設計師面試題彙總之C C 關鍵字(二)
c語言得設計原則是把函式作為程式得構成模組。在c99標準中,允許main 函式沒有引數,或者有兩個引數 有些實現允許更多得引數,但這只是對標準的擴充套件 命令列引數有時用來啟動乙個程式的執行,如int main int argc,char ar 其中第乙個引數argc表示命令行引數的數目,它是int...
程式設計師面試彙總之變數
全域性變數 靜態區域性變數與靜態全域性變數都在靜態儲存區分配空間,而區域性變數在棧上分配空間。總的來說,相同點是都保留在靜態儲存區,生命期與程式生命期相同,而不同點在與全域性變數具有全域性作用域,靜態變數具有穩健作用域。靜態變數分為靜態區域性變數和靜態全域性變數。靜態區域性變數具有區域性作用域,只被...