当前位置: 代码迷 >> 单片机 >> 关于 单片机中的 "编码定义方法"解决思路
  详细解决方案

关于 单片机中的 "编码定义方法"解决思路

热度:132   发布时间:2016-04-28 15:02:34.0
关于 单片机中的 "编码定义方法"
诸位 我现在在看郭天祥的 《51单片机C语言教程》。书里有这么一段代码

“unsigned char code table[];” 书上 pg60

关于那个char后面的"code"书里的解释是"编码定义方法" 

Q1: 谁能和我解释一下什么是"编码定义方法" ?这是单片机C语言中独有的什么法子么?

书上面还强调 "单片机C语言中定义数组是占用内存的 而定义编码是直接分配到程序空间中"。

Q2: 那么 请问 "程序存储空间"和"内存空间" 有什么区别么?


谢谢了!
------解决方案--------------------
可以这么理解,程序存储空间相当于电脑的硬盘, 内存空间相当于电脑的内存
unsigned char code table[];”
也可以放在内存空间(此空间可读可写)里,不过对于只读的数据来说放到程序存储空间(该空间是存放代码的,一般单片机此区域是只读的)更划算(单片机内存空间很小,能节约就节约)
------解决方案--------------------
Q2版主已经解释很明白了,Q1我觉得是书上翻译的有问题吧,我理解code就是英文代码的意思,就是存放代码的空间,unsigned char code table[];就是把你定义的table【】数组放在单片机的代码存放空间里面,当然也可以定义成unsigned char data(xdata) table[];等,放在不同的地方,可以参考一下网上的很多解释关于data xdata pdata code区别的,百度一下很多的。
  相关解决方案