提供一个思路:读这种声明的时候从右往左读
如:
1、const char *ptr
ptr 是一个 指向 const char 的指针
2、char const *ptr
ptr 是一个 指向 char const 的指针
3、char *const ptr
ptr 是一个 指向char 的常量指针
---------------------------------------------------------------------------------------------------------------------------------
这边直接上代码!!!
第一种的const char *ptr 定义:
char str[] = "abc";
char str2[] = "def";
int len = strlen(str);
const char *ptr1 = str;// 1
ptr1[0] = 'd';// 错误!表达式必须是可修改的左值
ptr1 = str2;
for (int i = 0; i < len; i++) {
printf("%c", ptr1[i]);
}// 正确!可以正常打印出def
第二种的char con