如何在结构体中定义函数
malloc.h
molloc函数//内存管理控制器
struct _m_mallco_dev
{
void (*init)(u8);    //初始化
u8 (*perused)(u8);  //内存使⽤率
u8 *membase[SRAMBANK]; //内存池,管理SRAMBANK个区域的内存
u16 *memmap[SRAMBANK];  //内存状态表
u8 memrdy[SRAMBANK];  //内存管理是否就绪
};
extern struct _m_mallco_dev mallco_dev;  //在malloc.c⾥⾯定义
malloc.c
//内存管理控制器
struct _m_mallco_dev mallco_dev=
{
mymem_init,      //内存初始化
mem_perused,      //内存使⽤率
mem1base,mem2base,mem3base,  //内存池
mem1mapbase,mem2mapbase,mem3mapbase,//内存管理状态表
0,0,0,          //内存管理未就绪
};
/
/内存管理初始化
//memx:所属内存块
void mymem_init(u8 memx)
{
mymemset(ap[memx],0,memtblsize[memx]*2); //内存状态表清零
mymemset(base[memx], 0,memsize[memx]); //内存池所有数据清零
dy[memx]=1;        //内存管理初始化OK
}
要注意定义结构体的时候不能直接定义函数,C语⾔的struct中只有成员,不能有函数,所以只能定义指向函数的指针。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。