您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
c语言中量的类型决定了什么?
类型,变量,单片机c语言中量的类型决定了什么?
发布时间:2020-12-06加入收藏来源:互联网点击:
c语言中量的类型决定了什么?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
首先要说明的是C语言是强类型语言,什么意思呢?就是所有变量都必须明确声明其所属类型。一旦一个变量的类型确定了,那该变量在其整个生命周期内所占的内存大小及可对其实施的操作就确定了。这一切都是通过编译程序编译时就确定和实现的。
回答于 2019-09-11 08:43:50
很多的应用场景都使用C语言,作为一名从事单片机C语言编程的工程师,和大家分析下这个基础知识点的大学问。
那么C语言编程当中,定义的变量类型,决定了什么?
在单片机编程中,基本上常用的都是,unsigned char,unsigned int、unsigned long这三种类型,变量的定义不同的类型,就决定了位宽,也就决定了变量的数据范围。
char 类型,是8位有符号数据类型,范围是-128~127。
unsigned char 类型,是8位无符号的数据类型,范围是0-255,总共256个数字。
int 类型, 16位有符号数据类型。范围是-32768~32767。
unsigned int类型,是16位无符号数据类型,范围是0-65535,总共65536个数字
unsigned long,是32位的数据,范围是0-2^32。
在单片机编程时候,需要根据设定变量的需求,选择定义合适的变量类型。比如你想用的变量是超过255,就必须用unsigned int 类型。否则会出现异常。
但在不同的开发平台,类型范围有可能不一致
在不同的单片机平台当中,unsigned char,unsigned int,unsigned long 代表的位宽会存在差异。这个与芯片的开发环境有关系.。比如在合泰单片机的开发环境,unsigned int 类型是与unsigned char 是一样的。都是8位宽度。 在windows 环境下开发,int类型就是32位宽度。所以需要具体平台具体分析。
变量的类型,是单片机C语言开发的基础,如果不掌握,有可能设计出来的代码和想象中的不一样。
虽然这是一个很简单的技术基础,但很容易被单片机初学者,或者C语言编程初学者遗漏的知识点。在程序BUG调试当中,对于初学者来说,也是经常遇到,希望大家都记住。
我是科技电小二,一名单片机开发工程师,如果您觉得这篇文章对您有所帮助,那么点个赞,并加个关注吧。
回答于 2019-09-11 08:43:50
变量类型决定了数据的存储形式,和数据能进行的运算。
回答于 2019-09-11 08:43:50
决定了内存 char类型8位内存 int类型32位内存
回答于 2019-09-11 08:43:50
类型其实就是占用内存大小的一个别名,不同类型占用的大小不一样
回答于 2019-09-11 08:43:50
大家都说了占用的内存空间,更进一步,数据类型还决定了可对其进行的操作,如:
int t=0;
t++; // ok
float x=0;
x++;// error
回答于 2019-09-11 08:43:50
决定的是两个东西:一个是数据长度,一个是操作指令。
比如int类型和unsigned int类型
编译后的位移指令不同,指的是右移是否保留最高位等约定。
再说int和float四则运算在编译后,虽然都用32位寄存器,但浮点运算指令和整数运算指令完全不同。
其他,short,int,longlong 之间的区别就不用说了。
其实,10多年前爱改游戏内存参数的玩家非常明白这些类型在内存中的存储和组织。
上一篇:你心中的90年代末到21世纪初,五大联赛的最佳阵容是?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |