C 預處理器 標頭檔案 檔案讀寫

2021-09-29 06:31:15 字數 795 閱讀 7035

預處理器是再變異之前做的一些工作

include 包含乙個原始檔**

常見的有#include就是從系統庫中獲取stdio.h,並新增到當前文字中。而#include "header.h"則是告訴預編譯器(cpp)從當前目錄中新增header.**件到當前文字中

defind定義巨集

巨集的意思就類似乙個誰都知道的常量如

#define color "blue"
還有取消巨集定義undef

預定義巨集

包括一些日期、當前目錄等,不能修改

預處理器運算子

引數化的巨集

標頭檔案包含了一些巨集定義和c函式宣告(如printf())

引用標頭檔案相當於複製標頭檔案的內容,但不會直接複製,因為這樣很容易出錯,特別是在引用多個檔案的時候

標頭檔案包括系統檔案和程式設計師寫的標頭檔案,這兩個的引用方式不一樣

標頭檔案引用經過預編譯器(cpp)處理後,得到的文字就是引用的標頭檔案和原本的檔案的並集

相同的標頭檔案不能被引用兩次,這樣會產生錯誤,可以採用條件編譯語句來避免即包裝器#ifndef

有條件引用

是為了應對根據不同的情況引用不同的檔案,特別是選擇引用多個檔案的時候,這樣是很不妥當的,可以通過預編譯器來巨集定義標頭檔案的名稱,然後引用相應的標頭檔案,這就是有條件引用。

即使用巨集來代替#include 後面的頭檔名

標頭檔案 預處理器 命名空間

1.標頭檔案用於宣告而不是用於定義 extern int ival 10 初始化了,為定義,不適合放在標頭檔案中 double dval 沒有extern,是定義,不適合放在標頭檔案中關於標頭檔案不應該含有定義這一規則,有三個例外 標頭檔案可以定義類 值在編譯時就已知道的const物件和inline...

C 預處理器和iostream檔案

使用 如果程式要使用c 輸入或輸出工具 cout,cin 要引入標頭檔案iostream和使用命名空間std,即在程式開頭寫 include using namespace std 當然也可以直接使用 include 代替這兩句。原因 1 這涉及到程式與外部世界之間的通訊。iostream中的io指...

C 預處理器

偶爾翻c 的教材,看到了一些以前自己不太關注的角落。參考教材 c 大學教程 harvey m.deitel 和paul james deitel著。預處理發生在編譯之前,包括把其他檔案包含到要編譯的檔案中 定義符號常量和巨集 程式 的條件編譯以及預處理指令的條件執行。對應的,預處理指令有 檔案包含命...