不同位数的CPU(单片机)的变量所占的内存也不尽相同,具体如下表所示。 8位16位32位64位
char1 Byte1 Byte1 Byte1 Byte
short int2 Byte2 Byte2 Byte2 Byte
int2 Byte2 Byte4 Byte4 Byte
long int4 Byte4 Byte4 Byte8 Byte
long long8 Byte8 Byte8 Byte8 Byte
float4 Byte4 Byte4 Byte4 Byte
double8 Byte8 Byte8 Byte8 Byte
指针1 Byte2 Byte4 Byte8 Byte注:
1)上述表格适用于KEIL C51 和 KEIL MDK两个版本中,不一定适用于其它编辑器,具体内容,请查看KEIL软件手册。
2)CPU的位数不能决定int占几个字节,int是一个关键字,只能本编译器识别,CPU不能识别int。对于C语言,同一32位系统PC机上,TC2.0编译器给int分配2个字节,VC6.0给int分配4个字节。
|