常量指针和指针常量的区别

文章目录


主要是简单记录下c语言中涉及到的常量指针和指针常量之间的区别,只要使用的是const关键字来进行处理。

1.常量指针:值不可以修改,地址可以修改。

2.指针常量:地址不可修改,值可以修改。

3.指向常量的指针常量:值和地址都不能够修改。

举例如下所示:

#include 
int main (void)
{
	 	int a = 10;
	    int b = 20;
	    // 表示常量指针,值不可以修改,地址可以修改,也可以写成const int *p1 = &a
	    int const *p1 = &a;
	    p1 = &b;// 正确
	    //  *p1 = 30; // 错误
	    
	    // 表示指针常量,地址不可修改,值可以修改
	    int *const p2 = &a;
	    *p2 = 30; // 正确
	    //   p2 = &b;// 错误
	
	    // 常量指针和指针常量:值和地址都不能够修改
	    int const *const p3 = &a;
	    //   p3 = &b; // 错误
	    // *p3 = 30; // 错误
	
	    // 当没有const 关键值时,值和地址都是可以改变的
	    int *p4 = &a;
	    p4 = &b; // 正确
	    *p4 = 30; // 正确
    return 0 ;
}

你可能感兴趣的:(c++记录,常量指针,指针常量)