温馨提示×

C语言常量指针和指针常量的区别有哪些

小亿
95
2023-08-03 16:34:39
栏目: 编程语言

C语言中常量指针和指针常量是两个不同的概念。

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

总结来说,常量指针是指针所指向的地址不可修改,但是可以通过指针修改所指向的值;指针常量是指针本身不可修改,但是可以通过其他方式修改所指向的值。

0