高質量C程式設計08 預處理

2021-07-11 19:06:50 字數 1020 閱讀 7265

c語言中,以#開頭的語句統稱為編譯預處理命令.

這些命令必須在一行的開頭以#開始,末尾不加分號,並且每條命令獨佔一行,以區別於一般的c語句.它們可以放在程式的任何位置.

(1)巨集是一種定義,它就是給乙個語句塊(巨集體)定義了乙個名字

#define 巨集名 巨集體

(2)巨集定義好處

(3)預處理時執行替換動作,把源程式中使用巨集定義的地方替換成巨集體,這個過程叫做巨集展開或巨集替換

(1)巨集分為兩種

(2)區別

巨集名字後有引數就是帶參巨集,也叫巨集函式

(1)三種方式

①方式1:

#ifdef 識別符號

程式段1

#else

程式段2

#endif

②方式2:(防止標頭檔案重複包含)

#ifndef 識別符號

程式段1

#else

程式段2

#endif

③方式3:

#if 表示式

程式段1

#else

程式段2

#endif

(2)用途:

①除錯程式(列印除錯時)

②防止乙個原始檔對同乙個標頭檔案的多次重複包含

③只使用有效**參加編譯,提高效率

#include "檔名"

#inclue 《檔名》

(1)檔案包含可以指定所包含檔案的絕對路徑:

如:#include "c:\program files\microsoft visual studio\myprojects\01.h"

(2)檔案包含可以指定所包含檔案的相對路徑

如:#include "...\myprojects\01.h"

推薦使用相對路徑

《高質量C C編譯預處理

檔案包含 include 包含開發環境提供的庫標頭檔案 nclude 包含自己的標頭檔案 也可以使用相對路徑或絕對路徑 如 include a b.h include c a b.h 內部包含暗哨 ifdef a h define a h endif 防止標頭檔案重複編譯 外部包含暗哨 if def...

讀《高質量C C 》 預處理

編譯預處理 編譯預處理器能識別的指令,只在預編譯期起作用,不會進入編譯階段。而常用的預編譯處理,主要有檔案包含,巨集定義,條件編譯 error pragma以及預定義符號常量 1 檔案包含 include 例如 include 開發環境提供的庫標頭檔案 include myhead.h 使用者自定義...

C 高質量程式設計點滴

摘自 http www.sudu.cn info html edu c 20070103 236588.html 一 你需要乙個函式將乙個陣列賦值為等差數列,並將會在函式的外部使用他。不合理 int getarray int n return p 合理 void getarray int p,int...