Const 关键字 与指针

发布时间 2023-06-21 11:41:50作者: 不及格的程序员-八神

Const 关键字 与指针

星期一 天气:晴
 
使用指针 会涉及到两个对象 一个是指针本身,另一个是它指向的对象.
将指针声明为 const 就使对象为常量而不是指针为常量;
例如:
const char* p = "asdf"; //指向常量的指针
p[2] = ‘d’;  // wrong
p = "defc"; //right
 
要把指针本身而不是它指向的对象声明为常,要运用 运算符 *const
 char *const p = "asdf"; //常量指针
p[2] = ‘d’;  // 正确
p = "defc"; //错误
 
要使两个对象都是常量,二者都要声明为const;
const char *const p = "asdf"; //指向常量的常指针
p[2] = ‘d’;  // wrong
p = "defc"; //wrong
 
一对象当通过一个指针访问是常量,而用其它方法访问时可能是变量,这对于函数参数特别有用.
声明为一个const的指针参数,就禁止函数修改参数批向的对象.
char* strcpy (char* p, const char* q); //不能修改*q