常量指针和指针常量
使用一个指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明应const“预先固定”将使那个对象而不是使这个指针成为常量。要讲指针本身而不是被指对象声明为常量。我们必须使用声明运算符*const,而不能简单的使用const。举例:
1 void fl(char *p) 2 { 3 char s[] = "Gold"; 4 const char *pc = s; //指向常量 5 pc[3] = 'g'; //错误。pc指向常量 6 pc = p; //正确。指针不是常量 7 8 char *const cp = p; //常量指针 9 cp[3] = 'g'; //正确.指向对象不是常量 10 cp = p; //错误。指针是常量 11 }
定义常量指针的声明运算符是*const。并没有const*声明符,所以出现在*之前的const是作为基础类型的一部分。例如:
1 char *const cp; //到char的const指针 2 const char *cp; //到const char的指针 3 char const *cp; //到const char的指针
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步