【指针】const char *p,char const *p和char *const p

请看下面三种定义:

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

你可能感兴趣的:(【指针】const char *p,char const *p和char *const p)