一、const char *ptr;
定义一个指向字符常量的指针,ptr中存放的是一个地址的值,例如:
假设字符串str1的地址为0x800
str1=“abc”;
const char *ptr=str1; //const char *ptr="abc"
print (ptr); //此时ptr=0x800,所以打印0x800
所以const char *ptr 不能改变指向内容的值,只能通过改变ptr的值来改变指向的地址。
二、char const * ptr
和const char * ptr没有本质区别
三、char * const ptr
char * const ptr 为一个不可变的指针,不可为ptr指针重新赋值,即不可改变该指针所指向的地址值,但是可以通过该指针对指向的地址中的常量进行操作。