首页 > 代码库 > 指向const对象的指针和const指针
指向const对象的指针和const指针
const char *p1;/指向const对象的指针
char const *p2;//同上
char *const p3;//const 指针
区别:const后面是什么就限定什么,比如char const *p 就是限定(*p),(*p)就是p指向的那段内存不能变,p的值可以改变,如果是char* const p就是限定p指针的值。
1. 指向const对象的指针,适合做函数形参,保证指向对象不被修改
1.1 p1指向的值不可改变,指向const对象,但是p1可以被修改指向非const对象
const char c1 =‘c‘;
p1 = &c1;
char c2 = ‘d‘;
p1 = &c2;//p1指向了非const对象,但p1不同通过*p1来改变其值。
char *p4 = &c;
p1 = p4;
*p4 = e‘;//p4对象指向被改变,p1也指向它,同样被改变。
1.2 非指向const对象的指针不能指向const对象
2.const指针
2.1 p3不能指向其他地址
char c3 = ‘f‘;
p3 = &c3;
char c4 = ‘g‘;
char *p5 = &c4;
p3=p5;//错误,p3是const,不能被修改
c3 = ‘h‘;//c3被修改,指针指向的值同样被修改
指向const对象的指针和const指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。