C语言指针常量



学习执指针的时候我们知道不能够使用指针的常量去访问,但是今天学习到有的时候可以、而且是必须是用指针常量进行访问的。。。


假设在100个地址,存放这个变量int a ,并且100这个地址存放的数值是1;

那么我们调用这个语句:

     *100  = 22;


那么这个程序正确不了?


不对的,因为编译器会把100当做int数据来进行处理,而这样是不对的,因为常量是不能赋值的,这个大家应该都知道的。


当然如何给地址是100的数值赋值了?


    ((int *)100) = 22;

这样既可,那么程序就可以访问了。。。


需要注意一下问题:

1.内容地址为100的时候,在程序第一次运行可能是在那个地方,但是在之后运行的时候就不一定了,因为有的时候会导致内容不一致。

2.但是在进行设备硬件访问的时候,程序会约定在某一个固定的地方调用数据,那么这个方法就可以使用了。。。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值