1.常量指標:指標所指向的內容不可以通過指標的間接引用(*p)改變,指標本身是變數,但是指標所指向的值是乙個常量
const
int x =1;
const
int* p1;
p1 =
&x //指標p1的型別是 (const int*)
*p1 =10;
//error
char
* s1 =
"hello"
;//error
const
char
* s2 =
"hello"
;//correct
"hello"是乙個常量,s1是乙個指向該字串首字元的乙個指標(存著h字元的位址),hello不能被修改,因此指標必須是const 型別
2.指標常量:指標本身的內容是個常量,不可以被修改。
int x =
1, y =1;
int*
const p2 =
&x;//常量p2的型別是(int*)
*p2 =10;
//okey x=10
p2 =
&y;//error p2是常量
《陣列名就是陣列的首位址別名,可以說陣列名就是乙個指標常量》
int i =10;
intconst
* pi =
&i;//只是說明pi指向的位置中所存的內容不能通過*pi的方式被改變
const
int ci =10;
const
int* pci =
&ci;
//ci存放於常量區,不可被改變,pci指向的位址中所存的內容,不能通過*pci的方式改變
##總結
const int * x
int * const y
在前先讀,在前不變
*(指標)和const(常量)誰在前先讀誰
*代表被指的資料,名字代表指標位址
const在誰前面誰就不允許被改變
C語言中的常量指標與指標常量
1.常量指標與指標常量是c語言中兩個比較容易混淆的概念 1 const char p 2 char const p a 3 char p abc 1 式定義了乙個常量指標,即指向乙個常量的指標,指向的內容是常量,不可修改,放在常量區的,但指標本身可以修改,即 p b 是非法的,p是p指向的常量的第乙...
C語言中的指標常量與常量指標
很多人糾結過這兩個名詞,也有人寫文章區分兩者的區別。其實很簡單,常量指標和指標常量乙個是指標 乙個是常量。const int p var 與 int const p var 的功能是相同的,都是乙個指向整型常量的指標。指標的數值可以修改,但是當前指標指向的量不可修改。該如何去確認p var的含義呢?...
C語言中常量和變數
在c語言中,常量和變數都是可以用來儲存和表示資料的,常量值在程式執行的過程中是不可變的,而變數是可變的 1,常量的概念 常量是不可變的量,c語言中數值可以用常量表示,常量可以表示各種資料型別的值 2,變數的概念 變數和常量是相對的,變數在程式執行過程中是可變的量,由變數名和變數值組成,變數名是乙個標...