【发布时间】:2012-03-05 09:30:32
【问题描述】:
我有一个 .c 文件(一个函数库),其中包含一个函数和如下定义:
typedef long double big;
big foo(int x) { ... }
我想为这个库创建一个接口,.h。所以我这样做:
typedef long double big;
big foo(int);
并从.c 文件中删除typedef long double big;。但是通过这样做,我在我的界面中放弃了big 的类型定义,所以它并不是一个真正干净的界面。任何想法如何解决这个问题?
我知道我可以在我的 .c 文件中执行此操作:
struct foo {
long double;
};
然后在.h 文件中执行:
typedef struct foo big;
big foo(int);
但是为一个字段创建struct 似乎很浪费,而且每当我想读取big 时,我都应该使用. 运算符。
【问题讨论】:
标签: c types interface struct typedef