日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

#define与const的差别

發布時間:2025/3/14 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #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的差别的全部內容,希望文章能夠幫你解決所遇到的問題。

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