结构体做函数形参

005.jpg


结构体变量是不能直接做形参的,但是可以把全部成员逐个传送,不过这种方式会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。


//结构体:
typedef struct
{
    unsigned char  EgfVer;
    unsigned short EgfWidth; 
    unsigned short EgfHeight;  
}EGUI_EGF_Information;


//功能函数
void EGUI_EGF_GetInfo(char *Filename,EGUI_EGF_Information *EGUI_EGF_Info)
{
   unsigned char ReadBuf[16];
   unsigned int Len;
   unsigned short EW,EH;
 
   //... ... ...
   EGUI_EGF_Info->EgfVer=ReadBuf[3];
   EGUI_EGF_Info->EgfWidth=EW; 
   EGUI_EGF_Info->EgfHeight=EH;  
}


//调用函数
void MB_Boot(void)
{
   EGUI_EGF_Information  EGUI_EGF_Info;
    
   EGUI_EGF_GetInfo("1:03.egf",&EGUI_EGF_Info);
}
标签:C/MCU

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://evelee.net/blog/?id=5