C语言指针常量

来源:互联网 发布:学网络渗透 编辑:程序博客网 时间:2024/05/16 08:43



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


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

那么我们调用这个语句:

     *100  = 22;


那么这个程序正确不了?


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


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


    ((int *)100) = 22;

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


需要注意一下问题:

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

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



原创粉丝点击