char szSource[100];
memset(szSource,0,100);
memset(szSource,'a',90);
char szDest[100];
const char *pContent1; // 指针内容为常量,内容不可变
pContent1 = szDest;
char* const pContent2 = szSource; // 指针为常量,不可变。其类型仍然为char*指针类型,该指针被const修饰为常量,必需初始化
char* pContent3; //普通无修饰指针类型变量
const char* pContent4;
//char* const pContent5 = pContent1; // error C2440: '=' : cannot convert from 'const char *' to 'char *'
//pContent3 = pContent1; // error C2440: '=' : cannot convert from 'const char *' to 'char *'
pContent3 = pContent2; // 正确
pContent4 = pContent1; // 正确
pContent4 = pContent2; // 正确
pContent4 = pContent3; // 正确
本文深入探讨了C语言中不同类型的指针用法及其特性,包括常量指针、指向常量的指针以及普通指针之间的赋值转换规则。通过具体的代码示例,解释了这些指针在实际应用中的注意事项。

被折叠的 条评论
为什么被折叠?



