C,C 指標和常量

2021-10-01 20:45:10 字數 1516 閱讀 9006

常量使用關鍵字const修飾,如定義乙個整型常量:const int a = 10;

定義常量(兩種)

#define pi 3.14 

//巨集定義

const

int maxscore =

100;

//const

指向常量的指標。定義如下兩種方式都行指向常量的指標的特點:(1)無法通過指標修改指向的資料;

(2)可以修改指標變數本身的指向;

(3)該指標能夠指向常量;

如下舉例說明:

const

int a =3;

int b =5;

const

int*pint =

&a;*pint =10;

//錯誤,無法修改

pint=

&b;//正確,可以改變指向

將乙個指向常量的指標傳遞給普通指標將會導致乙個編譯錯誤。

在指標定義語句的指標名前加const,表示指標本身是常量,稱為指標常量。格 式如下:

指標常量特點

(1)指標變數不允許修改

(2)指標變數指向的記憶體值可以修改

(3)修飾符const與《指標變數》緊鄰

int a =

0, b =0;

int*

const ptr =

&a;*ptr =1;

//正確

ptr =

&b;//錯誤

char strtext[32]

="head"

;char

*const strname=strtext;

strname=strname+2;

//錯誤,無法修改指向

*strname=

'n';

//正確,可以修改

*(strname+2)

='r'

;//正確

指向const型變數的const型指標變數。定義格式如下

特點:

(1)指標變數不可修改

(2)指標變數指向的記憶體值也不可修改

const

int maxscore =

100;

const

int*

const pcmax =

&maxscore;

//指向不能改,指向的內容也不能改

//pcmax = &math;//報錯,指向不能修改

//*pcmax = 150;//報錯,指向的內容不能修改

C C 指標常量和常量指標

常量指標 常量指標是指向常量的指標,指標指向的記憶體位址的內容是不可修改的。常量指標定義 const int p a p 告訴編譯器是常量,不能將 p作為左值進行操作。但這裡的指標p還是乙個變數,它的內容存放常量的位址,所以先宣告常量指標再初始化是允許的,指標也是允許修改的,例如 int a 0,b...

常量指標和指標常量 C C

按英文的字面意思,從右向左理解就比較清楚了 const char pointer 常量指標 底層const pointer to const 字面意思 指向常量的指標,不能通過這個指標修改指向的內容 char const pointer 指標常量 頂層const const pointer 字面意思...

C C 指向常量的指標和常量指標

由於之前沒有系統的看過書籍,導致概念混淆,由 c primer 中得到,const修飾指標有兩種形態,分別是指向常量的指標 pointer to const 和常量指標 const pointer ps 對之前看過此部落格的同學表示抱歉 int a 1 int b 2 const int p a 等...