指针常量和常量指针的区别
时间: 2023-08-29 18:12:49 浏览: 99
指针常量和常量指针的区别在于指针本身的可变性。
指针常量是指指针本身是一个常量,指向的值可以改变。例如:
```
const int* p; // 常量指针,指向的值不能改变
int* const p; // 指针常量,指针本身不能改变,但指向的值可以改变
const int* const p; // 指向的值和指针本身都不能改变
```
常量指针是指指针指向的值是一个常量,指针本身可以改变。例如:
```
int a = 10;
int b = 20;
const int* p = &a; // 常量指针,指向的值不能改变
p = &b; // 合法,指针本身可以改变
*p = 30; // 不合法,指向的值不能改变
```
总的来说,指针常量和常量指针的区别在于指针本身的可变性,指针常量的指针本身是常量,而常量指针的指向的值是常量。
相关问题
c++指针常量和常量指针的区别
C指针常量和常量指针的区别在于,指针常量是指针本身是常量,指向的内容可以改变;而常量指针是指针指向的内容是常量,指针本身可以改变。简单来说,指针常量是不能改变指针指向的地址,但可以改变指针指向的内容;而常量指针是不能改变指针指向的内容,但可以改变指针指向的地址。
c 指针常量 常量指针 区别
C 语言中有两种不同的指针类型:指针常量和常量指针,它们之间的区别在于指针和指针指向的内容是否可以被修改。
指针常量是一个指针,它指向的地址是固定的,不能被修改,但是指针本身可以被修改。例如,以下代码定义了一个指向整型变量的指针常量 p,它被初始化为指向变量 a 的地址,然后通过 p 修改 a 的值:
```
int a = 10;
int *const p = &a;
*p = 20; // 修改 a 的值为 20
```
常量指针是一个指针,它指向的地址可以被修改,但是指针指向的内容不能被修改。例如,以下代码定义了一个指向整型变量的常量指针 p,它被初始化为指向变量 a 的地址,然后尝试通过 p 修改 a 的值:
```
int a = 10;
const int *p = &a;
*p = 20; // 编译错误,无法修改指针指向的内容
```
总之,指针常量和常量指针的区别在于指针和指针指向的内容是否可以被修改。指针常量指向的地址不能被修改,但是指针本身可以被修改;常量指针指向的地址可以被修改,但是指针指向的内容不能被修改。
阅读全文