const int *pi,int * const pi,const int * const pi的讲解

1.const int n=10;

n=20;//error

 

2.const int *pi;

int n=10,n=20;

pi==&n;

pi=&m;

m=30;

printf("pi=%d",*pi);  //pi=30

pi的值可以被修改,可以重新指向另一个地址。const修饰的是*pi,是一个常量,不能被修改

 

 

3.int * const pi;

int n=10,n=20;

pi==&n;

//pi=&m;  //不能再这样重新赋值

n=30;

printf("pi=%d",*pi);  //pi=30

pi有了const修饰之后,是一个指针常量,不能再重新指向另一个变量

*pi是变量,可以通过*pi来修改它所指向的指针内存的值

 

4.int *pi 指向const int i 的情况

const int i=20;

int *pi;

pi=&i// error

pi=(int *)&i;//不能通过*pi来修改i的值

 

5.const int *pi指针指向const int i的情况

const int i=20;

const int *pi;

pi=&i;//两个类型相同,i的值无论通过pi和i都不能修改

 

6.const int * const pi

int i;

const int* const pi=π//pi的值不能改也不能通过pi来修改i的值

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值