在头文件中typedef, 具体实现在c文件中,这样外部文件便无法访问此模块内的数据。
/*************************************** * struct.h ***************************************/ typedef struct my_struct my_struct; void my_function(int my_g_handler, my_struct *s, void *user_data); /**************************************** * struct.c ****************************************/
#include "struct.h" struct my_struct { int element1; int element2; }; void my_function(int my_g_handler, my_struct *s, void *user_data) { printf("%d", s->element1); }