const修飾指標的用法 常量指標和指標常量

2021-07-23 06:47:45 字數 812 閱讀 3537

const通常用來修飾變數不能夠更改值,多用來保護變數或引數。

const int b = 100;

//b = 0;錯誤

當const修飾指標時,由於const的位置不同,它的修飾物件會有所不同。

如下**,int *const p2中const修飾p2的值,所以理解為p2的值不可以改變,即p2只能指向固定的乙個變數位址,但可以通過*p2讀寫這個變數的值。

int a = 0;

int b = 100;

int *const p2 = &a;//p2指向了a的位址,p2只能指向a的位址

//p2 = &b;錯誤

//p2是乙個常量指標,p2只能指向固定的乙個變數位址,但可以通過*p2讀寫這個變數的值

*p2 = 7;

printf("b = %d\n", a);

如下**,int const *p1或者const int *p1兩種情況中const修飾*p1,

所以理解為*p1的值不可以改變,即不可以給*

p1賦值改變p1指向變數的值,但可以通過給p賦值不同的位址改變這個指標指向。

int a = 0;

int b = 9;

const int *p = &a;//p可以指向乙個int型別的位址,但不可以用*p的方式修改這個記憶體的值

//*p = 10;錯誤

printf("%d\n", *p);

p = &b;

printf("%d\n", *p);

const用法之修飾指向常量的指標

在xp平台使用vc 6.0編譯執行如下 1 char s aaa 2 printf s n s 編譯執行一切正常,但如果在加入一些 例如 1 char s aaa 2 printf s n s 3 s 0 b 4 printf s n s 編譯通過,但執行過程中輸出 aaa 之後,系統彈出 帶除錯的...

const修飾指標與修飾常量

1.const 修飾指標 常量指標 eg const int p a 特點 指標的指向可以修改,但是指標指向的值不能修改 int a 10 int b 20 int p a p 20 錯誤 p b 正確 2.const 修飾常量 指標常量 eg int const p a 特點 指標的指向不能修改,...

常量指標與指標常量(const用法)

初了解,const是在c語言中為了提高程式的安全性和可靠性而用來修飾資料型別的,const修飾的資料型別是指常型別,常型別的變數或物件的值是不能被更新的,即相當於限定為 唯讀 的狀態。即指向常量的指標,該指標所指向的是乙個常量,常量的值不能通過解引用來改變,但是這個指標的指向可以改變 如 const...