本文目錄一覽:
關於C語言中內置宏__DATE__和 __TIME__?
這兩個就是字符串常量,當字符串用就行。
__DATE__:當前的編譯日期
__TIME__:當前編譯時間;
#includestdio.h
#includestring.h
int main()
{
printf(“%s,%s\n”,__DATE__,__TIME__);
printf(“長度DATE=%d,TIME=%d\n”,strlen(__DATE__),strlen(__TIME__));
return 0;
}
c語言宏定義如何用?用宏定義有什麼優點?
主要用於函數重定義,通用性,可以用一個變量符號替代另一個變量符號
格式:#define M(x,y) x+y
在主程序里寫入z=M(6,9);等價於z=6+9;而寫成z=(6-8,9);等價於z=6-8+9 ;直接代入
還有就是 :#define Uint unsigned int 即用 Uint 代替unsigned int 便於書寫,還有就是不同操作系統的通用變量識別
C語言中的宏定義怎麼用?
C語言中的宏定義用法分為兩種。
1、不帶參數的宏定義比較簡單,就是用一個指定的標識符來代表一個字符串。它的一般形式為“#define 標識符 字符串”,例如#define E 2.718281828459。這種方法使用戶能以一個簡單的名字代替一個長的字符串。
2、帶參數的宏定義不是僅僅進行簡單的字符串替換,還要進行參數替換。其定義的一般形式為;“#define 標識符(宏名)(參數表) 字符串”,字符串中包含在括號中所指定的參數。例如#define S(a,b) a*b area=S(3. 2)。
擴展資料:
宏定義只佔編譯時間,函數調用則佔用運行時間(分配單元,保存現場,值傳遞,返回),每次執行都要載入,所以執行相對宏定義會較慢。
使用宏定義次數多時,宏定義展開後源程序很長,因為每展開一次都使程序增長,但是執行起來比較快一點(這也不是絕對的,當有很多宏定義展開,目標文件很大,執行的時候運行時系統換頁頻繁,效率就會低下)。而函數調用不使源程序變長。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199397.html