卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

define條件編譯 宏定義用法?

宏定義用法?說到宏定義,我們首先應(yīng)該了解什么是預(yù)處理指令。我相信你對它并不陌生。在編寫程序之前,程序開頭的include指令和define指令都是預(yù)處理指令,這使得我們的編譯更加高效和方便。因此,用戶

宏定義用法?

說到宏定義,我們首先應(yīng)該了解什么是預(yù)處理指令。我相信你對它并不陌生。在編寫程序之前,程序開頭的include指令和define指令都是預(yù)處理指令,這使得我們的編譯更加高效和方便。因此,用戶可以在C語言中添加一些特定的預(yù)處理指令。

C語言提供的預(yù)處理功能有:宏定義、文件包含、條件編譯。今天,我將帶大家學(xué)習(xí)宏定義。宏定義有兩種,一種是“無參數(shù)宏定義”,另一種是“有參數(shù)宏定義”。

1、無參數(shù)宏定義

無參數(shù)宏定義相對簡單,它使用指定的標(biāo)識符來表示字符串。它的一般形式是;

#define identifier string

它的功能是用這個程序文件中指定的標(biāo)識符E替換2.71828459。在預(yù)處理中,指令后的所有e都被2.7182818459替換。此方法允許用戶用簡單名稱替換長字符串,因此此標(biāo)識符(名稱)稱為“宏名稱”

在預(yù)處理期間用字符串替換宏名稱的過程稱為“宏擴(kuò)展”。#Define是宏定義指令。

2、帶參數(shù)宏定義

帶參數(shù)宏定義不僅是一個簡單的字符串替換,也是一個參數(shù)替換。其定義的一般形式是;

#define identifier(macro name)(parameter table)string

該字符串包含括號中指定的參數(shù)。

宏定義只占用編譯時間,而函數(shù)調(diào)用占用運(yùn)行時間(分配單元、保存字段、值傳輸、返回)。每次執(zhí)行都必須加載,因此執(zhí)行速度比宏定義慢。

當(dāng)宏定義被多次使用時,源程序在宏定義展開后會很長時間,因?yàn)槊看握归_都會使程序增長,但執(zhí)行速度更快(這不是絕對的)。當(dāng)宏定義擴(kuò)展較多時,目標(biāo)文件很大,執(zhí)行過程中系統(tǒng)頻繁換頁,效率較低)。函數(shù)調(diào)用不會使源程序變長。