找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1584|回复: 12
打印 上一主题 下一主题
收起左侧

单片机中的c语言语句问题分析?

[复制链接]
跳转到指定楼层
楼主
倒数第三行的u8(储存键值的)   KeyValue  它储存键值不用定义吗?   为什么这个语句可以这样写。
下面的u8 code smgduan[17]  同理
谢谢

批注 2020-01-31 221615.png (54.56 KB, 下载次数: 52)

批注 2020-01-31 221615.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-2-1 12:39 | 只看该作者
u8 KeyValue;就是定义一个存储8位二进制的内存空间,这就是变量的定义方式呀,而不能使用define来定义
回复

使用道具 举报

板凳
ID:235200 发表于 2020-2-1 12:40 | 只看该作者
还是建议你先去学习一下C语言的基本知识
回复

使用道具 举报

地板
ID:688045 发表于 2020-2-1 18:05 | 只看该作者
csmyldl 发表于 2020-2-1 12:39
u8 KeyValue;就是定义一个存储8位二进制的内存空间,这就是变量的定义方式呀,而不能使用define来定义

这个和我学的c语言号好像不太一样,不是应写成int KeyValue;吗?
c语言的变量定义不是“类型名+ 变量名”吗?
回复

使用道具 举报

5#
ID:688045 发表于 2020-2-1 18:05 | 只看该作者
csmyldl 发表于 2020-2-1 12:40
还是建议你先去学习一下C语言的基本知识

我感觉我学了一个假的c语言
回复

使用道具 举报

6#
ID:67199 发表于 2020-2-1 19:55 | 只看该作者
KEIL C51非通用C语言,有一些特定的规范,如
data:固定指前面0x00-0x7F的128个RAM,可以用acc直接读写,速度最快,生成的代码也最小。      idata:固定指前面0x00-0xFF的256个RAM,其中前128和data的128完全相同,只是访问的方式不同。  
xdata:外部扩展RAM。
code:ROM。
回复

使用道具 举报

7#
ID:462827 发表于 2020-2-1 20:34 | 只看该作者
u8就是unsigned char的别名呀,u8 KeyValue; 就是 unsigned char KeyValue; 这样懂了吧
回复

使用道具 举报

8#
ID:642838 发表于 2020-2-1 20:40 | 只看该作者
fumoumou 发表于 2020-2-1 18:05
这个和我学的c语言号好像不太一样,不是应写成int KeyValue;吗?
c语言的变量定义不是“类型名+ 变量名 ...

之前用了typedef unsigned char u8预处理命令,所以u8 KeyValue没问题。
没有typedef定义,写成unsigned char KeyValue也可以
回复

使用道具 举报

9#
ID:299748 发表于 2020-2-1 21:03 | 只看该作者
因为typedef啊
回复

使用道具 举报

10#
ID:235200 发表于 2020-2-1 21:29 | 只看该作者
fumoumou 发表于 2020-2-1 18:05
这个和我学的c语言号好像不太一样,不是应写成int KeyValue;吗?
c语言的变量定义不是“类型名+ 变量名 ...

是呀,u8 KeyValue就是unsigned char  KeyValue
回复

使用道具 举报

11#
ID:688045 发表于 2020-2-1 23:01 | 只看该作者
odfggf 发表于 2020-2-1 20:40
之前用了typedef unsigned char u8预处理命令,所以u8 KeyValue没问题。
没有typedef定义,写成unsigned ...

哦哦,这回明白了,谢谢你。
回复

使用道具 举报

12#
ID:688045 发表于 2020-2-1 23:09 | 只看该作者
csmyldl 发表于 2020-2-1 21:29
是呀,u8 KeyValue就是unsigned char  KeyValue

嗯嗯,谢谢
回复

使用道具 举报

13#
ID:281828 发表于 2020-2-5 10:47 | 只看该作者

在这里它就是unsigned char  KeyValue;如果你的变量KeyValue在运算中装载的数据可能大于127,就应该定义为:unsigned int  KeyValue;如果有其他的预定义还可以写作uchar dat,uint dat,ulong dat,u8 dat,u16 dat 等等。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表