常量指针(很简单)

1、指针可以修改为指向不同的常量

2、指针可以修改为指向不同的变量

3、可以通过解引用来读取指针指向的数据

4、不可以通过解引用来改变指针指向的数据

#include<stdio.h>
int main()
{
    int num=1024;
    int* p = &num;
    printf("%p %d\n",p,*p);

    int temp = 1042;
    p = &temp;
    printf("%d\n",*p);
}
/*结果:00000032c2bffbc4 1024
       1042*/

简单来讲就是不可以改变指针指向的数据,但是可以改变指针存储的地址

/*指向非常量的常量指针*/

#include<stdio.h>
int main()
{
    int num = 1024;
    const int cnum = 4201;
    int * const p = &num; /* *号在const左,指向常量的指针;*号在const右常量指针*/

    *p = 1025;
    printf("%d ",*p);     /*这里指针指向的数据可以改变*/

    p = &cnum;
    printf("%d",*p);      /*这里会出现报错,因为这里的指针为常量指针,储存的内容不可改变*/

    return 0;
}
/*指针自身不可以被修改;指针指向的值可以被修改*/

所谓常量,就是不变的量。

const后边的一切为不可改变量。

/*指向常量的常量指针*/
/*指针自身不可以被修改*/
/*指针指向的值也不可以被修改*/
#include<stdio.h>
int main()
{
    int num = 1024;
    const int cnum = 4201;
    const int * const p = &num; /* *号在左,指向常量的指针;*号在右常量指针*/

    *p = 1025; /*此时该位置会出现报错*/
    printf("%d ",*p);

    return 0;   
}
/*另外说一嘴,这种霸气十足的定义,在正式开发中一般不会用*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值