找回密码
 立即注册

QQ登录

只需一步,快速开始

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

#define uchar unsigned char 是什么意思? 感觉这个问题好low啊 求助大神

  [复制链接]
跳转到指定楼层
楼主
ID:167932 发表于 2017-3-17 09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define uchar unsigned char 是什么意思? 感觉这个问题好low啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:165046 发表于 2017-3-18 08:51 | 只看该作者
就是把数据类型unsigned char重新定义为uchar,以后定义就可以使用比如uchar  a这种形式,而不必再写全称了!

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:151348 发表于 2017-3-18 09:56 | 只看该作者
用uchar 代替 unsigned char

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:171760 发表于 2017-3-18 13:04 | 只看该作者
这样的写法是为了提高程序的可移植性。举个例子,你代码51单片机中定义了变量int a; 这个a是16bit的变量。然后你把代码移植到换到STM32中,那么a就变成32位。事实上你不希望改变a的类型(也就是希望a还是16bit的),那么就需要使用如下方式定义:
#define int s8
s8 a;
在移植的时候,直接修改#define int s8就可以了。
比如在51单片机上是#define int s8,在STM32等32位单片机上就用#define short s8;

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:170906 发表于 2017-3-18 14:40 | 只看该作者
一楼二楼正解。

评分

参与人数 1黑币 +10 收起 理由
admin + 10 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:172038 发表于 2017-3-19 10:58 | 只看该作者
宏定义,以后用uchar 就代表unsinged char了,不用那么麻烦去敲 unsigned char那么多字符

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:51588 发表于 2017-3-19 17:47 | 只看该作者
宏定义 使得unsigned char简单容易记形式 uchar,, 编译器编译时使用unsigned char 替换编程使用的uchar,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:173129 发表于 2017-3-19 17:56 | 只看该作者
用uchar 代替 unsigned char应该是更方便吧
回复

使用道具 举报

9#
ID:173230 发表于 2017-3-19 18:25 | 只看该作者
定义字符型无符号字符型变量
回复

使用道具 举报

10#
ID:167932 发表于 2017-3-20 09:45 | 只看该作者
zhaok2013 发表于 2017-3-18 08:51
就是把数据类型unsigned char重新定义为uchar,以后定义就可以使用比如uchar  a这种形式,而不必再写全称了 ...

谢谢啊
回复

使用道具 举报

11#
ID:175793 发表于 2017-3-20 22:26 | 只看该作者
宏定义unsigned char为uchar,之后你写的程序就不用写那么长了
回复

使用道具 举报

12#
ID:161477 发表于 2017-3-21 09:48 | 只看该作者
数据类型unsigned char重新定义为uchar
回复

使用道具 举报

13#
ID:176162 发表于 2017-3-21 11:12 | 只看该作者
用uchar 代替 unsigned char,也就是简单点,不用那么麻烦去敲 unsigned char那么多字符
回复

使用道具 举报

14#
ID:252149 发表于 2017-11-23 11:50 | 只看该作者
就是把数据类型unsigned char重新定义为uchar,以后定义就可以使用比如uchar  a这种形式,而不必再写全称了!至于为什么字符还会有无符号我就不知道了
回复

使用道具 举报

15#
ID:212797 发表于 2017-11-23 13:11 | 只看该作者
用uchar代替 unsigned char
回复

使用道具 举报

16#
ID:252149 发表于 2017-11-23 14:04 | 只看该作者
宏定义,以后用uchar 就代表unsinged char了,不用那么麻烦去敲 unsigned char那么多字符
回复

使用道具 举报

17#
ID:387001 发表于 2018-8-16 18:02 | 只看该作者
重定义
回复

使用道具 举报

18#
ID:390775 发表于 2018-9-3 12:37 | 只看该作者
#define 是宏定义 在预编译时处理的
#define uchar unsigned char   是把 unsigned char 定义为uchar
加油

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

19#
ID:392992 发表于 2018-9-3 15:11 | 只看该作者
整句话的意思就是把 unsigned char 宏定义为 uchar

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

20#
ID:393296 发表于 2018-9-4 09:53 | 只看该作者
#define为宏定义 unsigned char 为无符号字符 就是说 char 的大小为 -128~127 unsigned char 就是0~255 这也是很多游戏属性设定最大值为255的原因。。整句话的意思就是把 unsigned char 宏定义为 uchar 以后只要写uchar 就是unsigned char 的意思。。方便程序编写
回复

使用道具 举报

21#
ID:325733 发表于 2018-9-4 10:50 | 只看该作者
这是一个宏定义,一般放在程序开头,uchar和 unsigned char等价,在程序中可直接用uchar
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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