【C語言進階】宏定義里面使用#define會怎么樣?
這個問題,學過C語言的你,了解過嗎?
1 問題描述
**大家都知道在C語言中,使用 **#define 進行宏定義,那么如果宏定義里面又出現(xiàn) #define 呢?
這是宏定義的嵌套寫法嗎?
這種寫法有沒有問題?
2 問題驗證
為此,我們寫一段測試代碼驗證下:
?
#include
?
#define TEST_MACRO_1 100
#define TEST_MACRO_2 #define xxx
?
int main(int argc, const char *argv[])
{
printf("test = %d\\\\\\\\n", TEST_MACRO_2);
?
return 0;
}
我們編譯運行下看看:
**注意看,這里的宏定義壓根就是 ** 語法錯誤 ,也就是說在C語言里面就不支持宏定義的定義體里面又 #define 這樣的字眼。
3 總結
- **C語言中使用 **#define 定義一個宏定義;
- **但是宏定義的定義體里面,不能再次出現(xiàn) **#define 這種關鍵字,否則將會報語法錯誤。
4 更多分享
[架構師李肯]
架構師李肯 ( 全網(wǎng)同名 ),一個專注于嵌入式IoT領域的架構師。有著近10年的嵌入式一線開發(fā)經(jīng)驗,深耕IoT領域多年,熟知IoT領域的業(yè)務發(fā)展,深度掌握IoT領域的相關技術棧,包括但不限于主流RTOS內核的實現(xiàn)及其移植、硬件驅動移植開發(fā)、網(wǎng)絡通訊協(xié)議開發(fā)、編譯構建原理及其實現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構、主流IoT云平臺的對接、嵌入式IoT系統(tǒng)的架構設計等等。擁有多項IoT領域的發(fā)明專利,熱衷于技術分享,有多年撰寫技術博客的經(jīng)驗積累,堅信【知識改變命運,技術改變世界】!
-
C語言
+關注
關注
183文章
7634瀏覽量
143910 -
函數(shù)
+關注
關注
3文章
4400瀏覽量
66361 -
宏定義
+關注
關注
0文章
51瀏覽量
9335 -
define
+關注
關注
0文章
16瀏覽量
4033
發(fā)布評論請先 登錄
使用 LinkBoy 將程序導出為 C 語言代碼并燒錄至 Arduino ESP32 開發(fā)板
RT_USING_TIMER_SOFT宏定義是否一定要開啟?
SConscript結果與rtconfig.h中宏定義相反,是什么原因呢?
深入理解C語言:C語言循環(huán)控制

評論