C語言中const的用法


const全局變量存儲在全局存儲空間,其值只有可讀屬性,不能修改;

const局部變量存儲在堆棧中,可通過指針修改其值;

const變量在預處理時處理,編譯器只對其值讀取一次

const定義的只讀變量在程序運行過程中只有一份拷貝(因為它是全局的只讀變量,存放在靜態區),而#define定義的宏常量在內存中有若干個拷貝。 #define宏是在預編譯階段進行替換,而const修飾的只讀變量是在編譯的時候確定其值。 #define宏沒有類型,而const修飾的只讀變量具有特定的類型 =========================================== const int *p; //p可變,p指向的對象不可變 int const*p; //p可變,p指向的對象不可變 int *const p; //p不可變,p指向的對象可變 const int *const p; //指針p和p指向的對象都不可變 ==================================== 總的來說: const:有數據類型,編譯進行安全檢查,可調試 define:宏,不考慮數據類型,沒有安檢,不能調試 

https://blog.csdn.net/love_gaohz/article/details/7567856

https://blog.csdn.net/xingjiarong/article/details/47282255

https://blog.csdn.net/hyqsong/article/details/50867456


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM