在开发单片机中,通常用到与网络通信,在接收通信协议的时候,避免不了使用typedef定义结构体。这里测试如果用typedef定义结构体时不占用单片机内存(ZI-data),
1、不写结构体定义时:生成的代码空间为:
2、在.h文件中增加一个结构体,如下:
这时生成的代码空间为:
这时,可以发现用typedef定义的结构体时,单片机存储空间没有变化
3、该结构体定义全局变量时,
这时生成的代码空间为:
通过对比,发现zi-data空间多了1000个字节。
综上所述:
在设计单片机程序时,用 typedef定义结构体,空间不会变化,建议用在局部变量。