C语言数据类型在单片机 MCU 中占的内存大小

概述

word(字)、byte(字节)、bit(位)

  1. 1word=4byteMCU32
  2. 1word=2byteMCU816
  3. 1byte=8bit
  4. 1kb=1024byte=210bit
  5. 1Mb=1024kb=220bit
  6. 1Gb=1024Mb=230bit

C语言基本数据类型

C语言数据类型在单片机 MCU 中占的内存大小_第1张图片

各种数据类型介绍

整型

  整形包括短整型、整形和长整形。

短整形

  short a=1;

整形

  一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高位在后,例如0x12345678在内存中的存储如下:

  地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012ff7b

  数据:  78      56        34      12

  定义:用int关键字,举例如下:

  int a=6;

长整形

  long a=10;

浮点型

  浮点型包括单精度型和双精度型。

单精度型

  浮点型,又称实型,也称单精度。一般占4个字节(32位),

  float a=4.5;

  地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012ff7b

  数据:  00      00        90      40

双精度型

  一般占8个字节(64位)

  double a=4.5;

  地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b  0x0012ff7c  0x0012ff7d 0x0012ff7e 0x0012ff7f

  数据: 00    00      00     00      00      00      12      40

字符类型

  在各种不同系统中,字符类型都占一个字节(8位)。定义如下:

  char c=’a’;

  也可以用字符对应的ASCII码赋值,如下:

  char c=97;

数据类型内存大小

  short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
在32 位的系统上
1. short 内存大小是2 个byte;
2. int 内存大小是4 个byte;
3. long 内存大小是4 个byte;
4. float 内存大小是4 个byte;
5. double 内存大小是8 个byte;
6. char 内存大小是1 个byte。

在32位机中C语言所占的内存大小如下

C语言数据类型在单片机 MCU 中占的内存大小_第2张图片

##8位或16机中C语言所占的内存大小如下
C语言数据类型在单片机 MCU 中占的内存大小_第3张图片

总结不同编译器环境下基本数据类型的存储长度

C语言数据类型在单片机 MCU 中占的内存大小_第4张图片

你可能感兴趣的:(C,&,C++,mcu-内存-C语言)