int *const p,const int *p和int const *p的区别

时间:2021-08-08
本文章向大家介绍int *const p,const int *p和int const *p的区别,主要包括int *const p,const int *p和int const *p的区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

原文地址:https://blog.csdn.net/u013412497/article/details/24495271

在学习c语言的过程中,可能我们很少见到int int *const p,const int *p和int const *p,但当我们在学习c++的过程中,就会遇到这些模糊不清的概概念,如果没搞清楚它们的区别,我们在使用过重中会很痛苦,但如果我们搞懂了它们之间的区别之后,用起来非常方便。

首先int const*p=const int *p;都表示*p的值不能改变,而p(即地址)是可以改变的;

#include<iostream>
using namespace std;
int main()
{
    int a=100;
    int* const c=&a;
    cout<<*c<<endl;
    const int *d=&a;
    cout<<*d<<endl;
}
//输出的值都是100

至于int *const p;

恰恰和上面的相反,即int *const p表示 p(地址)是常量,不可改变,但是*p的值可以改变

#include<iostream>
using namespace std;
int main()
{
    int a=100,b=200;
    int *const c=&a;
    cout<<*c<<endl;
    //c=&b;
    //cout<<*c<<endl; //去掉//后不能运行,因为修改了c(地址)的值
    *c=b;
    cout<<*c<<endl; //但是,这是可以运行的,因为我修改的是*c的值,不是修改的地址
}



原文地址:https://www.cnblogs.com/yifengs/p/15114570.html