C 編譯預處理和巨集 檔案

2021-09-19 23:43:52 字數 1168 閱讀 4342

巨集定義

#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...