1、一个“奇怪”现象
int 类型Code段大小反而比char类型小!!!
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4f387a159b28449dbbf79505162a9457.png)
STM32是ARM 32位的内核,因此它处理32位变效率是最高的,原生的。其根本是ARM32内核的数据位宽是32位,所以它每次访问内存读写数据都是32位的,哪怕仅仅是为了读写一个字节。所以(根本原因),编译器需要将char类型转换为int类型,而这是需要额外的代码。
2、不同类型的字节数
C语言标准的约定:char类型至少1个字节;short类型至少2个字节;int类型至少2个字节;long类型至少2个字节。
实际类型字节数由具体的硬件平台决定。