1: 編譯器處理不同 define宏是在預處理階段展開,const常量是編譯運行階段使用。 2:類型和安全檢查不同 const常量有數據類型,而宏常量沒有數據類型,僅僅是展開。編譯器可以對前者進行類型安全檢查,而對后者只進行字符替換,沒有類型安全檢查,並且在 ...
目錄 define const static define const 在 C 中,const 和 define 都可以用來定義常量。但是這二者之間有很大的區別: define 的作用 用 define 定義的常量是沒有 類型 的,編譯器只是把所定義的常量值和這個常量的名字聯系起來,編譯器在編譯的過程中只是把 常量名替換成對應的常量值,所有用到的地方都拷貝替換。 const 作用 使用 cons ...
2020-10-13 19:04 0 647 推薦指數:
1: 編譯器處理不同 define宏是在預處理階段展開,const常量是編譯運行階段使用。 2:類型和安全檢查不同 const常量有數據類型,而宏常量沒有數據類型,僅僅是展開。編譯器可以對前者進行類型安全檢查,而對后者只進行字符替換,沒有類型安全檢查,並且在 ...
const與#define的區別 編譯器處理方式不同 define宏是在預處理階段展開。 補充:預處理器根據以#開頭的命令,修改原始的程序。比如我們常見的#include <stdio.h>命令告訴處理器讀取系統頭文件stdio.h的內容,並把它直接插入程序文本中 ...
static和const聯合使用: static將一個全局變量變成局部變量 const將一個局部變量變成局部常量 // 定義了一個局部常量 static const CGFloat ZMJRed = 0.4; 使用static const 與 #define ...
const 定義的是變量不是常量,只是這個變量的值不允許改變是常變量!帶有類型。編譯運行的時候起作用存在類型檢查。 define 定義的是不帶類型的常數,只進行簡單的字符替換。在預編譯的時候起作用,不存在類型檢查。 1、兩者的區別 (1) 編譯器處理方式不同 #define 宏 ...
static static局部變量 將一個變量聲明為函數的局部變量,那么這個局部變量在函數執行完成之后不會被釋放,而是繼續保留在內存中 static 全局變量 表示一個變量在當前文件的全局內可訪問 static 函數 表示一個函數只能在當前文件中被訪問 static 類成員變量 ...
const 作用 修飾變量,說明該變量不可以被改變 修飾指針, 指向常量的指針(pointer to const) 自身是常量的指針(常量指針, const pointer) 修飾引用, 指向常量的引用(reference ...
const和static的區別 一、const 1.static 局部變量 將一個變量聲明為函數的局部變量,那么這個局部變量在函數執行完成之后不會被釋放,而是繼續保留在內存中2.static 全局變量 表示一個變量在當前文件的全局內可訪問3.static 函數 表示一個函數只能在當前文件中被 ...
const定義的常量在超出其作用域之后其空間會被釋放,而static定義的靜態常量在函數執行后不會釋放其存儲空間。 static表示的是靜態的。類的靜態成員函數、靜態成員變量是和類相關的,而不是和類的具體對象相關的。即使沒有具體對象,也能調用類的靜態成員函數和成員變量。一般類 ...