const与指针交集的那些事
【摘要】 我们要么在苦痛中变得强大,要么在开悟中得到成长。漠不关心的冷淡态度,只会让你故步自封、裹足不前。
我们要么在苦痛中变得强大,要么在开悟中得到成长。漠不关心的冷淡态度,只会让你故步自封、裹足不前。——《生而不凡》
最近学校有学到 C++,而 C++和 C 的语法在基础上差别并不大,于是直接跳到指针部分开始继续敲代码!
关于指针,可能大家都会觉得挺难的,但在写一些大型项目的时候,指针是无法避免的,当然,前提是使用 C 和 C++写。
这里也不多说,直接开始贴代码。
指针也是一个变量,它有它的地址,也有自己的值,只不过它的值是别人的地址。而且这个值是可以改变的。
1.const 修饰指针
常量指针:指针指向的值不可以改,指针的指向是可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
const int *p=&a;
//const修饰指针,指针指向的值不可以改,指针的指向可以改
// *p=20;错误
cout <<"指针指向的值:"<< *p <<endl;
p=&b;
cout <<"改变指针指向后的值:"<< *p <<endl;
return 0;
}
运行结果:
2.const 修饰常量
指针常量:指针的指向不可以更改,但指针指向的值是可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
//const修饰常量
//指针的指向不可以改,指针指向的值可以改
int *const p1=&a;
*p1=111;
//p2=&b;错误
cout <<"指针指向的值:"<< *p1 <<endl;
return 0;
}
运行结果:
3.const 修饰指针和常量
常量指针常量:指针的指向和指向的值都是不可以更改的。
源代码:
#include <iostream>
using namespace std;
int main() {
int a,b;
a=10;
b=123;
//const修饰指针和常量
//指针指向和指向的值都不可以更改
const int *const p2=&a;
//p3=&b;错误
//*p3= 30;错误
cout <<"指针指向的值:"<< *p2 <<endl;
return 0;
}
运行结果:
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)