關注+星標公眾號,不錯過精彩內容

作者 | strongerHuang
微信公眾號 | 嵌入式專欄
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』閱讀更多相關文章。

點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。