C語(yǔ)言常量指針怎么使用

小億
96
2023-08-03 16:42:26

在C語(yǔ)言中,常量指針指向的是一個(gè)常量值,該值不能通過(guò)指針進(jìn)行修改。常量指針的聲明方式是將const關(guān)鍵字放在指針變量名之前。

以下是常量指針的使用示例:

const int* ptr;  // 聲明一個(gè)指向常量整數(shù)的指針
int num = 5;
ptr = #  // 指針指向變量num
printf("%d\n", *ptr);  // 輸出指針?biāo)赶虻闹?,輸?
// *ptr = 10;  // 錯(cuò)誤,不能通過(guò)常量指針修改所指向的值
const char* str = "Hello";  // 聲明一個(gè)指向常量字符的指針
printf("%s\n", str);  // 輸出指針?biāo)赶虻淖址?,輸出Hello
// str[0] = 'h';  // 錯(cuò)誤,不能通過(guò)常量指針修改所指向的字符
const int* const ptr2 = #  // 聲明一個(gè)指向常量整數(shù)的常量指針
printf("%d\n", *ptr2);  // 輸出指針?biāo)赶虻闹?,輸?
// *ptr2 = 10;  // 錯(cuò)誤,不能通過(guò)常量指針修改所指向的值
// ptr2 = &another_num;  // 錯(cuò)誤,不能修改常量指針的指向

在上述示例中,ptr是一個(gè)常量指針,它指向一個(gè)整數(shù)變量num。由于ptr是常量指針,不能通過(guò)*ptr修改所指向的值。類似地,str也是一個(gè)常量指針,指向一個(gè)字符串常量,不能通過(guò)str[0]修改所指向的字符。

ptr2是一個(gè)常量指針,同時(shí)也是一個(gè)常量,既不能通過(guò)*ptr2修改所指向的值,也不能修改指針的指向。

總結(jié)來(lái)說(shuō),在C語(yǔ)言中,常量指針指向的值不能通過(guò)指針進(jìn)行修改,但可以指向不同的變量或常量。

0