指標常量與常量指標以及typedef定義的指標

2021-06-09 05:42:18 字數 1547 閱讀 5086

一、指標常量與常量指標。

char string[4] = "abc";

//常量指標

const char* c1 = string;

√ c1++;//常量指標可以改變其指向

×//指標常量

char* const c2 = string;×√

(*c2)++;//指標常量可以改變其指向的值的內容

二、typedef定義的指標型別。

typedef char * pstr1;//char型的指標

//在pstr前面加上const

const pstr1 p1 = string;×√

(*p1)++;//'const pstr1'其實是'char * const'(指標常量),'p1'指向的值的內容可以改變

//在pstr後面加上const

pstr1 const p2 = string;×√

(*p2)++;//'pstr1 const'其實仍然是'char * const'(指標常量),'p2'指向的值的內容可以改變

typedef const char * pstr2;//char型的常量指標

//不加修飾

pstr2  p3 = string;//常量指標

√ p3++;//常量指標,可以改變其指向

×//在pstr2前面加上const

const pstr2 p4 = string;

×p4++;//'const pstr2'其實是'const char * const'(常量指標常量),

×(*p4)++;//'const pstr2'其實是'const char * const'(常量指標常量),

//在pstr2後面加上const

pstr2 const p5 = string;

×p5++;//'const pstr2'其實是'const char * const'(常量指標常量),

×(*p5)++;//'const pstr2'其實是'const char * const'(常量指標常量),

typedef char* const pstr3;//char型指標常量

//不加修飾

pstr3 p6 = string;

×p6++;//指標常量,是乙個常量,不可以改變它的指向

√(*p6)++;//指標常量,可以改變它指向的值。

//在pstr3前面加上const

const pstr3 p7 = string;×√

(*p7)++;//指標常量,可以改變它指向的值。

//在pstr3後面加上const

pstr3 const p8 = string;×√

(*p8)++;//指標常量,可以改變它指向的值。

指標常量與常量指標

指標常量與常量指標 指標常量是指定義的指標只能在定義的時候初始化,之後不能改變其值,格式如下 資料型別 const 指標常量名稱 例項如下 1char constp1 2int constp2 const 位於指標宣告符 的右側,這說明宣告的物件是乙個常量,而物件的資料型別是指標。所以第一句定義了乙...

常量指標與指標常量

首先,我告訴大家乙個小規則,就是像這樣連著的兩個詞,前面的乙個通常是修飾部分,中心詞是後面乙個詞,怎麼說呢。就像這裡的常量指標和指標常量。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。我再分開細細說明,常量指標,它是乙個指標,什麼樣的指標...

常量指標與指標常量

在c c 面試中經常會考到常量指標和指標常量,對初學者來說經常會分不清楚,參考網路上的資料,重新學習 記錄一下。常量指標 指向常量的指標,即指向的內容為常量,不可更改,但指標自身的值可以修改。常量指標常量 指標指向的內容不可改變,指標本身的值也不能改變。int a 3 int b 4 const i...