关注+星标公众号,不错过精彩内容

作者 | strongerHuang
微信公众号 | 嵌入式专栏
8位单片机定义一个 int 型变量,占几个字节? 32位单片机定义一个 char 型变量,占几个字节?
Keil C51、8位单片机

//char a;void main(void){while(1){}}
定义变量:
char a;编译结果:
Program Size: data=10.0 xdata=0 code=17
定义变量:
short a;编译结果:
Program Size: data=11.0 xdata=0 code=17定义变量:
int a;编译结果:
Program Size: data=11.0 xdata=0 code=17
定义变量:
float a编译结果:
Program Size: data=13.0 xdata=0 code=17
定义变量:
double编译结果:
Program Size: data=13.0 xdata=0 code=17Keil MDK、32位单片机

//char a;int main(void){while(1){// a++;}}
定义变量:
char a;编译结果:
Program Size: Code=512 RO-data=436 RW-data=4 ZI-data=1028

注意4字节为一个“单元”,超过这个单元就分配到“下一个单元”,比如:
char a;int b;char c;
这里就会占用12(3 * 4)字节空间(a、b、c各自占4字节)。
定义变量:
short a;编译结果:
Program Size: Code=512 RO-data=436 RW-data=4 ZI-data=1028定义变量:
int a;编译结果:
Program Size: Code=512 RO-data=436 RW-data=4 ZI-data=1028定义变量:
float a;编译结果:
Program Size: Code=520 RO-data=436 RW-data=4 ZI-data=1028
定义变量:
double a;编译结果:
Program Size: Code=1156 RO-data=436 RW-data=8 ZI-data=1024总结
char:占1字节
short、int:占2字节
float、double:占4字节
char:占1字节
short:占2字节
int、float:占4字节
double:占8字节
struct Str{char a;short b;int c;char d;};
后台回复『嵌入式C语言』『单片机』『Keil』阅读更多相关文章。

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。