C語(yǔ)言常量指針和指針常量的區(qū)別有哪些

小億
95
2023-08-03 16:34:39

C語(yǔ)言中常量指針和指針常量是兩個(gè)不同的概念。

  1. 常量指針(const pointer):指針指向的地址是固定的,不可修改,但是可以通過(guò)指針修改所指向的值。例如:
int num = 5;
const int *ptr = # // 常量指針,指向的地址不可修改
*ptr = 10; // 錯(cuò)誤,不能通過(guò)指針修改所指向的值
ptr = &another_num; // 正確,可以修改指針指向的位置
  1. 指針常量(pointer to constant):指針本身是常量,不可修改,但是可以通過(guò)其他方式修改所指向的值。例如:
int num = 5;
int *const ptr = # // 指針常量,指針本身不可修改
*ptr = 10; // 正確,可以通過(guò)指針修改所指向的值
ptr = &another_num; // 錯(cuò)誤,不能修改指針本身

總結(jié)來(lái)說(shuō),常量指針是指針?biāo)赶虻牡刂凡豢尚薷?,但是可以通過(guò)指針修改所指向的值;指針常量是指針本身不可修改,但是可以通過(guò)其他方式修改所指向的值。

0