const
常量指针
eg:const int *p;
指针指向的内容是常量。因此,内容不可以改变,但是指针地址可以改变。
指针常量
eg:int *const p;
指针是常量。因此,指针地址不可以改变,指向的内容可以改变。
#include <stdio.h>
int main()
{
int m = 10, n =20;
const int *p1 = &m;//常量指针,指针指向的内容是常量
int *const p2 = &n;//指针常量,指针是常量
p1 = &n;//p1是常量指针,可以改变指针地址
//p2 = &m;//p2是指针常量,不能改变地址
//*p1 = m;//p1不可以改变指向内容
*p2 = m; //p2可以改变指向内容
return 0;
}
在C和C++中,const使用有区别
1.C和C++一旦用const定义了变量都不能改变
2.C中const定义的是常变量,C++定义的是常量
const int a= 10;
int b[a];//在C中会报错,在C++中可以
3.C不能定义const函数,C++可以定义const函数