網(wǎng)站域名查詢地址做百度推廣銷售怎么找客戶
1.#define
1.1定義
#define 是一個預處理指令,用于定義宏
宏,是預處理階段(在編譯之前)由預處理器處理的代碼片段
1.2使用 ?
1.2.1 #define 可以定義常量
#define PI 3.14159
1.2.2 #define 可以定義宏函數(shù)
#define SQUARE(x) ((x) * (x))
定義宏函數(shù)時的注意事項:
(1)參數(shù)x的括號要緊挨著函數(shù)名
(2)函數(shù)的內(nèi)容,即表達式中,不要吝嗇括號
防止運算律出錯
(3)宏函數(shù)不檢查類型,一般只用于構(gòu)建簡單函數(shù)
1.2.3 #define可以用來條件編譯
?2.頭文件與源文件
一、文件擴展名與用途
(1)頭文件
(1.1) 通常以".h"為后綴
(1.2)主要用于聲明接口,如函數(shù)聲明、宏定義、結(jié)構(gòu)體定義、類型定義等
(1.3)可以被多個源文件包含,實現(xiàn)代碼的重用和模塊化
(2)源文件
(2.1)通常以".c"為后綴
在C++中,源文件通常以“.cpp”為后綴,但C語言中一般使用“.c”
(2.2)主要用于實現(xiàn)功能,包含函數(shù)的具體實現(xiàn)、全局變量的定義等
(2.3)源文件是編譯器生成可執(zhí)行文件的基礎(chǔ)
二、內(nèi)容與結(jié)構(gòu)
(1)頭文件
通常包含以下內(nèi)容:
- 函數(shù)聲明:告訴編譯器函數(shù)的名稱、返回類型和參數(shù)類型
- 宏定義:使用
#define
指令定義常量或宏- 結(jié)構(gòu)體定義:定義數(shù)據(jù)結(jié)構(gòu)的布局
- 類型定義(typedef):為現(xiàn)有類型定義新的名稱
- 頭文件應(yīng)該避免包含全局變量的定義,因為全局變量在多個源文件中共享可能會導致鏈接錯誤
(2)源文件
通常包含以下內(nèi)容:
- 函數(shù)實現(xiàn):提供函數(shù)的具體實現(xiàn)代碼。
- 全局變量定義:定義在程序范圍內(nèi)有效的變量。
- 局部變量定義:在函數(shù)或代碼塊內(nèi)部定義的變量。
- 程序邏輯:實現(xiàn)程序的具體功能和算法。
總結(jié):
頭文件提供了程序的接口聲明和宏定義等
源文件則實現(xiàn)了這些接口和定義了程序的具體邏輯
?3.賦值表達式的返回值
賦值表達式有返回值
賦值表達式執(zhí)行賦值操作,即將右側(cè)的值賦給左側(cè)的變量
賦值表達式本身也具有一個值,這個值就是被賦給左側(cè)變量的那個值?
a = 5 這個賦值表達式的返回值就是5
所以 b = 5
總結(jié):
賦值表達式在C語言中是有返回值的
這個返回值就是被賦給左側(cè)變量的值
?
?