【編程基礎】C語言常見宏定義

來源:互聯網
上載者:User

標籤:簡寫   運算子   檔案   定義   else   目前時間   合并   www.   include   

我們在使用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語言常見宏定義

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.