我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:小鱼儿主页 > 调度模块 >

关于c51单片机指针用法的疑问

归档日期:07-21       文本归类:调度模块      文章编辑:爱尚语录

  疑问:为什么0x1000可以直接赋值给指针xdp,0x1000也可能是一个常量啊?还有,指针不是用来存放变量的地址的吗?为什么可以不通过变量直接赋地址?按我学过的c语言,我觉得“ *p=max;”应改为 “*p=&max” 才对,我现在真的好乱,转不过弯来,。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  *xdp = 0x5a是合理的,它表示将0x5a这个值赋给了*xdp这个变量,而 xdp=0x1000;也是合理的,c语言里允许对指针直接赋值,但不太符合常规,因为C通常都由编译器自动给变量分配地址,而 xdp=0x1000;实际上规定死了 *xdp这个变量的地址是0x1000。

  “ *p=max;”和 “p=&max” 不是一个意思,看你怎么用。“ *p=max;”是将max 的值赋给*p,而“p=&max”不过是将p这个指针指向max这个变量的地址,并没有给*p赋值。但注意,如果执行了“p=&max”之后,再给*p赋值,这个值是赋给max这个变量的。

本文链接:http://i-zyczenia.net/diaodumokuai/997.html