不透明指针

typedef struct pmpi_s *pmpi;
pmpi ps1=null;

制作库的时候,不希望将结构体暴露在.h中,怎么办呢?
由void handle_s(struct pmpi_s *p) 变为 void handle_s(pmpi *p)

参考文章1

使用typedef来抽象存在的结构体;
若结构体不想暴露在.h中(不想暴露给用户),放入.c中,弊端是申请全局变量只能靠函数接口实现,而函数只能在堆上动态申请(结构体定义没有暴露给用户),而嵌入式中不建议使用malloc;

参考文章2

posted @ 2023-09-19 17:08  我爱茜茜公主  阅读(20)  评论(0)    收藏  举报