嵌入式开发常用数据类型详解

嵌入式开发中的常用数据类型

嵌入式开发主要用到的是C语言,C语言中的基本数据类型主要有数值类型字符类型
在这里插入图片描述这里我们主要就整形和字符型数据进行讲解

  1. char(字符型)

众所周知,在计算机中,计算机只能识别0,1字符,这里就牵扯到编码的问题,在c语言中采用ASCII编码,包括0-127共128个字符,char类型就是为了解决字符的编码而出现的,char类型的大小为1个字节,范围为-127~127,从0-127每个数值代表一个ASCII字符。

#include <stdio.h>
void main(){
    printf("**************char类型测试********************\n");
    char a=48;
    printf("a=%d,a='%c'\n",a,a);
    char b=a+1;
    printf("b=%d,b='%c'\n",b,b);
    char c=a+2;
    printf("c=%d,c='%c'",c,c);   
}

运行结果
在这里插入图片描述 从上面代码可以看出,char类型的变量可以和int类型的数值进行加法减法操作,当以%d的形式输出的时候就是char的值,以%c类型输出的时候就是这个char变量所表示的字符。
其实在c语言中char类型就是和int类似的整形,只不过char可以表示的范围会更小,在嵌入式开发中经常可以看到使用char类型表示一个数字进行加减法以及乘法操作。

2、short int(短整型)
3、int(整形)
4、long(长整型)
这三种基本上没什么差别,主要区别在于数据长度不一样,可以表示的数据范围不同
这三种类型的长度在不同的计算机和操作系统上时可能会有不同

5、在嵌入式开发中还会经常遇到像uint_8,uint_16,int_8,int_16,等数据类型,刚刚做嵌入式开发的同学可能会很迷惑,其实这些类型并不是新的数据,而是在c语言原有数据类型的基础上通过typedef关键字重定义的数据类型的别名。
这是 因为在不同平台和编译器上会产生类型长度的差异,而在写嵌入式C代码时,经常会遇到代码移植的问题,通过重定义数据类型可以解决这一问题。
常用宏定义数据类型

//4.重定义基本数据类型(类型别名宏定义)
typedef unsigned char        uint_8;   // 无符号8位数,字节
typedef unsigned short int   uint_16;  // 无符号16位数,字
typedef unsigned long int    uint_32;  // 无符号32位数,长字
typedef unsigned long long   uint_64;
typedef char                   int_8;    // 有符号8位数
typedef short int            int_16;   // 有符号16位数
typedef int                  int_32;   // 有符号32位数
typedef long long            int_64;
//不优化类型
typedef volatile uint_8      vuint_8;  // 不优化无符号8位数,字节
typedef volatile uint_16     vuint_16; // 不优化无符号16位数,字
typedef volatile uint_32     vuint_32; // 不优化无符号32位数,长字
typedef volatile int_8       vint_8;   // 不优化有符号8位数
typedef volatile int_16      vint_16;  // 不优化有符号16位数
typedef volatile int_32      vint_32;  // 不优化有符号32位数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值