define和unsigned int在单片机中都是定义的意思,在应用中怎么区分,谢谢

 我来答
百度网友4ea7e5f
推荐于2017-08-16 · TA获得超过283个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:29.3万
展开全部
define 只是定义一个名称,比如你叫小亮,那么:
#define NAME 小亮
以后代码中,凡是出现‘NAME’的地方,都会被替换成 ‘小亮’。

在编译上看,#define只是告诉编译器 ‘一个名称替换’, 编译器不会为其分配内存空间,即使你定义了一个#define,然后在代码中没有使用,编译器也不会给出任何警告。

相反,unsigned int是一个变量定义,编译器会为其分配内存,如果你定义了一个变量,但程序中没有使用,编译器也会为其分配内存,同时给出警告。

在单片机中,因为内存资源非常有限,如果能用#define定义一些端口,地址之类的常量,一定要用#define.
追问
能举例说下unsigned int吗,整型变量和费整型变量怎么区分,多谢
追答
unsigned 表示没有符号,无法表示负数,但相同位长下,unsigned int 比int 表示的正数范围要大,注意,是正数。 如果程序需要处理负数,就要写int。

整形就是 unsigned int 或者int。
非整形包括 char ,short, float, double, 指针,结构体,枚举。
jinyangjie0
2014-06-21
知道答主
回答量:25
采纳率:100%
帮助的人:16.9万
展开全部
1) #define 是宏定义。
可以理解为就是给变量取个别名,这个别名在整个工程都可以用;

2)unsigned int 是类型定义,无符号整型。
是给变量定义具体的类型,而且有使用的范围,在哪个函数里定义,就只能在这个函数里使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2014-06-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8467万
展开全部
define和unsigned int,不是单片机中的东西。

它们是 C 语言中的。

楼主想要仔细的深入的研究,就应该去看专门介绍 C 语言的书。

在单片机领域,不会仔细讨论这些。

只是拿来就用,不讲道理。
追问
但单片机变成需要呀
追答
需要,你就用呗。

想要弄明白,就应该去看专门介绍 C 语言的书。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gygyvj
2014-06-21
知道答主
回答量:41
采纳率:50%
帮助的人:21.1万
展开全部
define是宏定义
追问
宏定义什么意思,具体点
unsigned int还有
追答
计算机中宏又称为宏命令,即通过特殊的控制语,将一系列动作简便化;即:一种批处理的程序,宏定义是一个类的在哪个函数里都使用的定义        请看例子一C语言为例:
#include<stdio.h>
#define A 100
int main()
{int PA(int);\\PA函数声明
int a=1,b; \\局部变量小a和b
printf("\d",PA);        \\用于第二函数
a+A=b;      \\b等于a加大A,A已在main函数外定义过了是宏定义在函数里不用再定义了
printf("%d",b);\\输出b值
return 0;
}
int PA(int c);
{
int z=0,c;
c=A+z;        \\不需要在定义A了
return(c);
}
unsigned int是无符号整型的值在0~65535,int(整数值)是-32768~32767。无符号是说   100前没有符号是正数值unsigned int 只能为正数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式