我在头文件中定义了一个结构,如下所示:
typedef struct {
void *data;
} point;
我想阻止其他人直接访问 *data,所以我想我应该在 .c 文件中声明结构并使用类似的东西extern typedef struct point;
在头文件中。但这是行不通的。
实现这一目标的最佳方法是什么?
在您的(公共)头文件中:
typedef struct point point;
In your .c
file:
struct point
{
void *data;
};
请注意,您的代码的用户将无法再创建point
在堆栈上,因为编译器不知道它有多大。您可能需要提供point_create()
分配内存并将其地址返回给调用者的函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)