亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

#define a 10 和int a=10有什么區別

感覺兩者并沒有區別啊 ? printf(“%d”,a)打出來不都一樣嗎

正在回答

2 回答

#define a 10是宏定義,其格式為#define 標識符 字符串

宏定義就是把一段長代碼(字符串)define定義成一個短的關鍵詞,以后下面程序要多次用到那段長代碼的時候,直接用關鍵詞代替,減少代碼量,還有在出錯維護的時候也只要把define后的字符串修改,全文的關鍵詞也就變了,方便維護

int a = 10;僅僅是定義一個int類型的變量并賦值為10,在內存中開拓了一塊區域

宏定義寫在函數的花括號外邊,作用域為其后的程序,通常在文件的最開頭,你說print出來沒有什么區別是對的,但一般在項目中不這樣用,凡事都有規則嘛!

他們之間的區別是:

宏定義不分配內存,變量定義分配內存。

宏定義是C提供的一種預處理機制,預處理是在編譯之前的處理(你后面會接觸到)


1 回復 有任何疑惑可以回復我~
#1

kiwilee0406 提問者

非常感謝!
2016-09-10 回復 有任何疑惑可以回復我~

#define a 10是一個常量,無法改變


int a=10 是一個變量,可以改變

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

#define a 10 和int a=10有什么區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號