1. 常指针
格式:char * const p;
特点:const接近p
说明:常指针所指向的地址不能变,但是其所指向的地址中的值可以变。即指针本身是个常量。
举例:
char testdata1, testdata2;
char* const p = &testdata; // 必须赋初值
*p = 0x55;
p = &testdata2; // 此句会报错。
2. 指向常量的指针
格式: const char * p 或 char const * p;
特点:* 接近 p
说明:指针所指向的地址可以改变,但是其地址中的值为常量,不能改变。即指针所指向的值是个常量。
举例:
char testdata1, testdata2;
char const * p; // 可以不赋初值
p = &testdata1;
*p = 0x55; // 此句会报错。
p = &testdata2;
3. 指向常量的常指针
格式: const char * const p 或 char const * const p;
特点:
说明:指针所指向的地址不可以改变,且其地址中的值为常量,不能改变。
举例:
char testdata1, testdata2;
char const * const p = &testdata1;// 必须赋初值
p = &testdata1; // 此句会报警
*p = 0x55; // 此句会报错。