语句const char *const chPoint;中两个const的用意是什么?
来源:百度知道 编辑:UC知道 时间:2024/05/31 18:58:30
第一个const 是修饰char 的,表示chPoint指针是个常量,也就是说chPoint定于后以后这个指针指是不能修改的。
第二个const是修饰chPoint的,表示chPoint指向的字符串不能通过指针chPoint来修改。
比如
char b[]="abcd";
char a[]="1234";
const char *const chPoint=a;
chPoint=b;//错误,违反第一个const,定于后不能通过指针修改字符串
chPoint[0]='a';//错误,违反第第二个const,前面定于后chPoint不能再赋值。
第二个没什么意思``只是编码规范而已``命名指针名的规范```
定义常量,用const那个变量的只是不能改变的
这个好说,这句话代表它是一个常量数据的常量指针,访问权最低。这样的指针总是指向相同的内存地址,在这个内存地址里的数据不能用指针修改。
若是 char *const chPoint 表示非常量数据的常量指针,这样的指针总是指向相同的内存地址,并且该地址的数据可以通过指针修改。
若是 const char *chPoint 表示常量数据的非常量指针,指针被修改后可以指向任何适当类型的数据项,但是被指向的数据不能通过指针进行修改。
若是 *chPoint 表示非常量数据的非常量指针,具有最高访问权,数据可以通过间接引用指针来修改,并且指针可以修改为指向其他数据。
语句const char *const chPoint;中两个const的用意是什么?
BOOL STTST_RegisterCommand(const char *const token_p,
int sprintf (char * szBuffer, const char * szFormat, ...)
char *const p;与 const char * p;的区别
const char星P是什么意思?
c++ uint32 如何转 const char
const char * 是如何动态释放的
10分(不知道者勿扰)---求strlen(const char *s)
C语言有没有个语句可以把short转换成char[]
C语言中的switch语句后面的参量为什么只能是int或char型呢?