请看下面三种定义:
const char *p;
char const *p;
char * const p;
请问三者有什么区别?
①先看第一种,先看p,根据优先级它和结合,(p)作为一个整体,同时被const 和char修饰,所以p是一个指向char类型的指针,且p指向的内容不能被修改;
②跟①是一样的, 只是调换了两个修饰符的位置,不影响结果
③p同时被 char* 和const修饰, 说明p是一个指向char的指针, 且const直接修饰p,p不可修改, 但是p指向的内容是可以修改的。
转载:https://blog.csdn.net/m0_37806112/article/details/81252151