char const p與const charp的區別

時間 2021-05-04 18:26:43

1樓:北漂碼農

const char *p;的意思是p指向的目標空間的內容不可變化,char * const p;的意思是指標p的值不可變,但它指向目標的值可變。

1、char * const p : 定義一個指向字元的指標常數,即const指標,其實const 放在p前證明p是一個const,p是不允許改變的。

2、const char* p : 定義一個指向字元常數的指標,const 是c描述char的,char是const,所以指標可變。

擴充套件知識:

char const* p : 等同於const char* p;const char **p是一個指向指標的指標,那個指標又指向一個字串常量,char ** p也是一個指向指標的指標,那個指標又指向一個字串變數。

2樓:匿名使用者

前者定義p為常量,即只能單向賦值一次,p++為p=p+1,重複賦值給常量,出錯,後者p為地址變數,地址變數是指向該變數的儲存地址值如:4b3f6a,不能賦給一個字元值(字元相當於ascii表中對應的整數)如強制賦值,會把原地址變數p變為一個兩位數的整數,造成地址指標溢位。而p++,則表示把該地址變數向下一個儲存單元移動一位,如4b3f6a到4b3f6b.

所以合法。

3樓:漸進_恐慌

const char  * p等價於 char const  *p ,定義出來的指標可以p++;

char * const 定義出來的指標不可以++;

const 表「只讀」

4樓:匿名使用者

char *const p 修飾指標為常量 指標指向內容可以是變數~既 p++這樣的操作不合法 *p='3' 合法

const char * p 是p指向的內容是常量~p是變數~

~既 p++合法 *p='3' 不合法

劍網2區與收費區的區別,劍網2免費區與收費區的區別

學王小彬 收費區按時間收費,需要自己練級.獲得的經驗是免費區的4倍,收費區御街裡的東西是比較符合遊戲需要的.而免費區超 雖說時間免費,但一切都能用人民幣買,聲望.70級,各種道具都可以買 另外.免費區生活都是pk,升級估計又要花錢,花錢升級和收費區買點卡練級樂趣更大.如果你喜歡 那你就去免費區 如果...

流域與徑流區的區別,河流乾流與徑流有什麼區別?

東莞無塵烤箱 徑流是指降雨及冰雪融水在重力作用下沿地表或地下流動的水流。徑流有不同的型別,按水流 可有降雨徑流和融水徑流 按流動方式可分地表徑流和地下徑流,地表徑流又分坡面流和河槽流。此外,還有水流中含有固體物質 泥沙 形成的固體徑流,水流中含有化學溶解物質構成的離子徑流 見化學徑流 等。流域的降水...

fifteen years old的用法與區別

正達美 這種結構 我起名 叫 數 量 形結構 你所寫的 1和4 是錯誤的 fifteen years old只能作表語如the boy is 15 years old.the street is 1000 meters long.fifteen year old只能作定語如 he is a fift...