温馨提示×

C语言中指针常量和常量指针的区别是什么

小亿
98
2023-07-31 20:10:15
栏目: 编程语言

C语言中指针常量(const pointer)和常量指针(pointer to const)的区别如下:

  1. 指针常量(const pointer):指针本身是一个常量,它的值(即指向的地址)不能被改变,但是可以通过该指针来修改所指向的变量的值。例如:
int x = 5;
int *const ptr = &x;   // ptr是一个指针常量,它的值不能被改变
*ptr = 10;             // 可以通过ptr修改x的值
  1. 常量指针(pointer to const):指针所指向的变量是一个常量,它的值不能被修改,但是指针本身可以指向其他变量。例如:
const int x = 5;
const int *ptr = &x;   // ptr是一个常量指针,它指向的变量x的值不能被修改
ptr = &y;              // 可以改变ptr的指向,指向其他变量

总结起来,指针常量是指针本身不可变,但是可以通过该指针来修改所指向的变量的值;而常量指针是指针所指向的变量不可变,但是指针本身可以指向其他变量。

0