const与指针交集的那些事

举报
小Bob来啦 发表于 2021/04/15 22:57:00 2021/04/15
【摘要】 我们要么在苦痛中变得强大,要么在开悟中得到成长。漠不关心的冷淡态度,只会让你故步自封、裹足不前。

我们要么在苦痛中变得强大,要么在开悟中得到成长。漠不关心的冷淡态度,只会让你故步自封、裹足不前。——《生而不凡》


最近学校有学到 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。