程式設計基礎 C語言常見巨集定義

2022-08-28 00:45:10 字數 827 閱讀 8356

我們在使用c語言編寫程式的時候,常常會使用到巨集定義以及巨集編譯指令,有的可能比較常用,有的可能並不是很常用,是不是所有的c語言巨集定義以及巨集指令你都清楚呢?

指令 用途

詳細介紹

# 空指令,無任何效果

#include 包含另外乙個檔案

#define 定義巨集

#undef 取消已定義的巨集

#if 如果給定條件為真,則編譯下面**

#ifdef 如果巨集已經定義,則編譯下面**

#ifndef 如果巨集沒有定義,則編譯下面**

#elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面**,其實就是else if的簡寫

#endif 結束乙個#if……#else條件編譯塊

#error 停止編譯並顯示錯誤資訊

#warning 顯示警告資訊但不停止編譯,往往在以後必須注意的地方加入,可以隨時提醒。

#運算子 出現在巨集定義中的#運算子把跟在其後的引數轉換成乙個字串。

##運算子 用於把引數連線到一起。預處理程式把出現在##兩側的引數合併成乙個符號。

__file__ 包含當前程式檔名的字串

__line__ 表示當前行號的整數

__date__ 包含當前日期的字串

__stdc__ 如果編譯器遵循ansi c標準,它就是個非零值

__time__ 包含當前時間的字串

另外在gcc下面,還有如下的巨集定義:

__function__ 表示當前的函式名

__va_args__ 表示可變引數輸入

這裡有更多的關於c語言的知識

C語言程式設計 學習筆記 巨集定義

編譯預處理指令 開頭的是編譯預處理指令 它們不是c語言的成分,但是c語言程式離不開它們 define用來定義乙個巨集 如 define pi 3.14159這樣pi這個東西就是3.14159的值 在編譯過程中,計算機會把 中出現的pi全部換成3.14159 也可以有如下定義 define forma...

巨集定義 C語言基礎學習筆記

define include ifndef define maxszie 10000帶引數的巨集 define add x,y x y define plus x,y add x,y define add x,y x y 呼叫 plus plus a,b c 呼叫結果 就是按照順序巢狀 最終 c b...

C語言巨集定義

c語言有很多預處理命令,如包含命令 include,巨集定義命令 define。預處理命令在程式編譯之前被編譯器處理,而巨集定義也在此時被替換。或c 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集...