关于const修饰指针的类型

有以下语句定义,语法存在错误的是()

A*p=1;                           Bq++;

Cnext++;              D(*j)++;

int x=5;
const int *const p=&x;
const int &q=x;
int const *next=&x;
const int *j=&x;

#C++工程师#
全部评论
百度一下就好了呀  常量指针和指针常量的区别
点赞 回复
分享
发布于 2020-05-30 13:09
ABD吧,const引用是限制权限的,const加在*之前说明,无法通过该指针修改所指向对象的值;加在*之后,说明是个常指针,引用的本质就是常指针,即说创建的指针变量存储的值是无法修改的,但是通过间接访问可以修改指向对象的值。
点赞 回复
分享
发布于 2020-05-31 14:21
联想
校招火热招聘中
官网直投
ABD语法存在错误,  const int *const p=&x; const int &q=x; 这两条语句等价, 为指向常量的指针常量, 这是因为引用的本质在C++内部是一个指针常量, 故A选项中的*q和B选项中的q均不能改变. int const *next=&x; const int *j=&x; 这两条语句等价, 为常量指针,故指针可以改变,常量不可改变,所以D选项错误,但是next++指向了一块未知的位置,这样在编程中是有问题的.
点赞 回复
分享
发布于 2020-06-01 17:28

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务