關於 const 用法說明

2021-07-03 10:55:51 字數 974 閱讀 1390

const u8 table_week[2]=;

u8 const table_week[2]=;

這有什麼區別?

在這裡是沒什麼區別的 

一般人喜歡寫 const u8,但是似乎 u8 const 更符合標準。 

但是 u8 const * p;  和 

u8 * const p; 

就有區別了, 

第乙個,const 修飾的是 (*p),也就是說,指標指向的記憶體是常量,不可以被更改。 

第二個,const 修飾的是指標變數 p,也就是說,指標本身是乙個常量,不能被重寫,比如我有另外乙個指標 p2,但是就不可以寫 p = p2; 但是 u8 * const p; 這樣的定義是不能編譯通過的,因為 const 變數必須在定義的時候就初始化。不過 c++ 的類成員變數稍有不同,是在建構函式中初始化。 

********************=

看上面2樓的解釋,  const u8 *  和u8  const *意思一樣   前面和u8 * const不一樣, 

他不是說 

u8 const * p;  

和  u8 * const p;  

有區別,  

第乙個,const 修飾的是 (*p),也就是說,指標指向的記憶體裡面存的東西是常量,不可以被更改。  

第二個,const 修飾的是指標變數 p,也就是說,指標p本身是乙個常量,不能被重寫,但該指標指向的內容可以被修改

********************===

c語言深度剖析  關於const有解釋, 

const u8 *  和u8  const *意思一樣   

前面和u8 * const不一樣,都把u8  去了,第乙個和第二個一樣的 都是const * 

第三個是const*,所以第乙個就是指標裡面存的東西不能夠修改,第二個p本身不不能修改,看const 修飾什麼,直接把定義的資料型別去掉再看就一目了然了。

C new 用法說明

int a newint 這句相當於 int a 0 a 是空 int a new int 20 這句的本質是指標指向乙個 int20 的空間 在堆裡 這個與class 類似的。1 new運算子 用於建立物件和呼叫建構函式。這種大家都比較熟悉,沒什麼好說的了。2 new修飾符 在用作修飾符時,new...

SQLSERVER DBCC 用法說明

一 dbcc 幫助類命令 dbcc help 查詢所有的dbcc命令 dbcc help 命令 查詢指定的dbcc命令的語法說明 dbcc useroptions 返回當前連線的活動 設定 的set選項 二 dbcc 檢查驗證類命令 dbcc checkalloc 資料庫名稱 檢查指定資料庫的磁碟空...

linux c setitimer用法說明

在linux c程式設計中,setitimer是乙個比較常用的函式,可用來實現延時和定時的功能。使用時需要引入的標頭檔案 cpp view plain copy include setitimer函式原型 cpp view plain copy intsetitimer intwhich,const...