日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

#define与const的差别

發布時間:2025/3/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #define与const的差别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#defineconst的差別

雖然他們在使用中感覺“差不多”,但是他們在實現上有什么區別?

請看下面的代碼:

#define T 13 /*用#define定義的一個常量T*/

int main()

{

??? const int t=13;/*用const定義的一個常量*/

??? int n=t;/*把t賦值給n*/

??? int m=T;/*把T賦值給m*/

}

1.差別:

const與#define最大的差別在于:前者在堆棧分配了空間,而后者只是把具體數值直接傳遞到目標變量罷了。或者說,const的常量是一個Run-Time的概念,他在程序中確確實實的存在可以被調用、傳遞。而#define常量則是一個Compile-Time概念,它的生命周期止于編譯期:在實際程序中他只是一個常數、一個命令中的參數,沒有實際的存在。

const常量存在于程序的數據段.

#define常量存在于程序的代碼段。

2優缺點:

至于兩者的優缺點,要看具體的情況了。一般的常數應用,我個人認為#define是一個更好的選擇:

i.從run-time的角度來看,他在空間上和時間上都有很好優勢。

ii.從compile-time的角度來看,類似m=t*10的代碼不會被編譯器優化,t*10的操作需要在run-time執行。而#define的常量會被合并。

但是:如果你需要粗魯的修改常數的值,那就的使用const了,因為后者在程序中沒有實際的存在

轉載于:https://www.cnblogs.com/wangliang651/archive/2007/03/19/680087.html

總結

以上是生活随笔為你收集整理的#define与const的差别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。