新闻动态

嵌入式开发之Linux系统中C语言数据类型

来源:互联网作者:佚名 日期:2020-03-24 点击:

嵌入式开发之Linux系统中C语言数据类型

请大家关注点赞,已经完成物联网相关开发,会从硬件层,硬件中间层,传输层,软件中间件(物联网云平台),APP开发相关博文。首先从嵌入式开发博文开始!上一节关于<<嵌入式开发之Linux系统中C程序的编译与调试>>。本节关于Linux系统中C语言数据类型。


1数据类型分类


斗牛游戏手游

c语言数据类型


short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。


列出了关于标准整数类型的存储大小和值范围的细节:




整型存储大小与范围




注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。具体可以用sizeof测试一下即可。


列出了关于浮点类型的存储大小和值范围的细节:




浮点型存储大小与范围




2基本数据类型


1)逻辑类型


只有两个true和false,表示逻辑真值和逻辑假值。


bool类型,值域:非零(true),零(false)。


If(-1)


X=12;


else


X=-18;


上面程序中条件-1为非零(true),执行X=12;


ctype/bool.c例子:




bool.c例子




ctype/bool2.c例子:




bool2.c例子




注意:bool类型需要引入库文件:<stdbool.h> _Bool为基本类型。


2)整型类型


包括char,short,int和long。


使用char类型注意,防止数据超出值域。


如:char c1 = 128; //出错,数据越界(-128)


char c1 = 129; //出错,数据越界(-127)


unsigned char c2 = -1; //出错,数据越界(255)


注:


-127 原码: 1 111 1111


反码: 1 000 0000


补码: 1 000 0001


-128 补码: 1 000 0000


ctype/char.c例子:




char.c例子




越界例子




ctype/int.c例子:添加头文件<limits.h>

炸金花游戏下载手机版下载


为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。下面的实例演示了获取 int 类型的大小:




获取 int 类型大小例子




3)浮点类型


包括float和double。


4)Void类型


类型说明符 void 表明没有可用的值。void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据。




牛牛游艺下载

Void类型




3强制类型转换


1)数据类型转换:C 语言中如果一个表达式中含有不同类型的常量和变量,在计算时,会将它们自动转换为同一种类型;在 C 语言中也可以对数据类型进行强制转换;


2)自动转换规则:


a浮点数赋给整型,该浮点数小数被舍去;


b整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中;


强制类型转换形式: (类型说明符)(表达式)


ctype/push.c例子:




正版的欢乐炸金花下载

强制类型例子




例中先计算 x+y 值为 8.8,然后赋值给 a,因为a为整型,所以自取整数部分8,a=8;


接下来 b 把 x+y 强制转换为整型;最后 10/i 是两个整数相除,结果仍为整数 2,把 2 赋给浮点数 f;x 为浮点型直接输出。


例子中涉及指令请查看前几节相关博文。