2019-03-23 17:50发布
大家都是好朋友 发表于 2017-1-26 15:47 还有C程序说不能直接给变量赋地址 但我看这个单片机的程序,需要给某个寄存器赋值,就DEFINE 定义它的地 ...
最多设置5个标签!
关键不是能不能,而是能否使用、如何使用....
C语言这范围太广了,通常情况下,给变量赋直接数值表达地址,不能使用。但用&转译赋值是可以的,否则,指针怎么用? 一切一切最终让电路执行时都必须落实到地址和内容。
单片机,通常事先就知道所有存储、接口资源的地址和范围多少,当然就可以直接define使用了。而台式机,编译的exe文件采用的相对重定位方法,装入到内存时才确定运行时的地址,所以是无法事先直接用数值指定地址的。
说个比喻: 1 是什么? 铅笔?树枝? 阿拉伯数字? 那么 one , 壹 , I, 日语的 "以其" 音,德语的 “俺斯” .........
把世界上所有语言所有可能的 1 的表达,能全都列出来?又怎么学呢? 那抛开所有表达形式的本质 到底是什么呢?
一周热门 更多>