C语言结构体,不懂呀,玩STM32的来看看

struct _m_mallco_dev { void (*init)(u8); //初始化 u8 (*perused)(u8); //内存使用率 u8 *membase[2]; //内存池 管理2个区域的内存 u16 *memmap[2]; //内存管理状态表 u8 memrdy[2]; //内存管理是否就绪 }; extern struct _m_mallco_dev mallco_dev; //在mallco.c里面定义 在mallco.c里面 struct _m_mallco_dev mallco_dev= { mem_init, //内存初始化 mem_perused, //内存使用率 mem1base,mem2base, //内存池 mem1mapbase,mem2mapbase,//内存管理状态表 0,0, //内存管理未就绪 }; 这种结构体不懂呀,求大神指导下!

第1个回答  2019-06-02
上面是定义的结构体数据类型,他的成员是指针和普通变量,
下面是用前面的结构体数据类型定义结构体变量同时把大括号的值赋值给定义的结构体变量,
因为函数名就是函数的地址所以其他程序中可以直接调用结构体指针就相当于调用了他们指向的函数。
第2个回答  2020-02-13
这个
结构体
是里面的成员有普通的
成员变量
,也有
函数指针
,你首先应该弄懂
u8
具体是什么类型,u16是什么类型
在C语言中自定义一个类型很常见
如:typedef
char
CT;
char
ch
相当于
CT
ch
相似回答