一:
const int bufSize =512;
定义bufzize是一个常量,并将其初始化为512(注意:必须初始化,因为定义后就不能再修改了)
二:
const int *pdata = NULL;
pdata是一个指向int类型的const对象的指针(从右向左解读从*为分界点,它是一个指针,指向一个整型常量)
应用例子:
1:pdata = &bufSize ;
2:int ival = 3.14;
pdata = &ival ;
但*ival =3.1415926是不正确的
说明:const对象的地址只能赋值给指向congst对象的指针,但是指向 const对象的指针可以被赋值以一个非const对象的地址。
再实际的程序中,指向常量的指针常被用作函数的形参,他作为一个约定来保证:被传递给函数的实际对象在函数中不会被修改
三:
定义一个const指针指向一个const对象或非const对象。
int i= 0;
int * const pData = &i;
*pData =1;正确
pData =&j;错误
pData 是一个指向非const对象的const指针
可以通过pData 改变i的值,但是不能再给pData 赋值其他的变量地址
四:
const double pi=3.1415926;
const double *const pi_ptr =π
定义了一个double常量pi初始化为3.1415926,并将其地址赋给一个指向常量对象的常量指针pi_ptr