巨集定義
#define 《名字》 《值》直接文字替換
注意結尾沒有分號,因為不是c語句;名字必須是乙個單詞,值可以是各種東西
如果乙個巨集的值超過一行,最後一行之前的行末需要加\
預定義的巨集:
__line__ 源**當前所在的行號
__fine__ 源**檔案的檔名
__date__ 編譯時的日期
__time__ 編譯時的時間
像函式的巨集:
#define cube(x) ((x)*(x)*(x))
帶引數的巨集的原則:
一切都要括號
整個值要括號
引數出現的每個地方都要括號
變數的聲名
int i; 變數的定義
extern int i; 變數的宣告
宣告是不產生**的;定義是產生**的
標準標頭檔案結構:
#ifndef __list_head__
#define __list_head__
#endif
格式化的輸入輸出
1.printf:
%[flags][width][.prec][hil]type
flag:
"-" 表示左對齊 ;"+"表示在前面放+或-;"0"表示0填充
width和.prec:
"number" 表示最小字元數; "*"下乙個引數是字元數; ".number"小數點後的位數;".*"下乙個引數是小數點後的位數
hil:
hh :單個位元組; h: short; l :long; ll: long long; l: long double;
2.scanf:
%[flag]type
*:跳過;數字:最大字元數;hh:charh:short;l:long,double;ll:long long;l:long double
c 基礎(3 5)預處理 巨集 檔案包含 條件編譯
巨集定義 相關注意點 1.不帶引數的巨集定義 1 巨集名一般用大寫 2 使用巨集可提高程式的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如 陣列大小常用巨集定義 3 可以用 undef命令終止巨集定義的作用域 4 巨集定義可以巢狀 2.帶引數的巨集定義 1 實參如果是表示式容易出問題 d...
C 編譯預處理
c 的預處理是編譯器在編譯源程式之前,先由預處理器處理預處理指令,由於在c 源程式中有各種編譯命令,而這些編譯命令由於是在程式被正常編譯之前執行的,故稱為預處理命令 或指令 預編譯命令用來擴充c 程式設計的環境,使得程式書寫變得更加簡練和清晰。c 提供的預處理功能主要有以下3種 巨集定義命令。檔案包...
C 多檔案結構和編譯預處理命令
1 一般乙個專案至少劃分3個部分 類定義檔案,類實現檔案,類使用檔案。2 外部變數 在原始檔1中定義的變數,可以在原始檔2通過關鍵字加以宣告之後應用。原始檔1 includeusing namespace std int i 1 int main 原始檔2 includeusing namespac...