我可以以头文件实现中不存在的方式使用结构吗?

时间:2012-09-14 01:11:30

标签: c struct header-files

所以我最近做了一些Java和C#人。我有一个头文件,它有一个函数void update(struct process* foo, float measurements),并且在头文件(.c文件)的实现中我将拥有功能:

void update(struct process* p,float measurements)
{
  *p.speed = *p.speed + measurements;
  *p.time = *p.time + 1;
  *p.noise = *p.noise + ((measurements)/100);
}

现在在Java中,我必须导入类进程,这一切都会很好。但是在.c实现中如何在不声明.c文件中的结构的情况下执行此操作(由于我想使用它从另一个模块传递参数,这将是没有意义的)?

我是C的新手,可能是一个非常基本的问题,但我在互联网上进行了一小时搜索,结果却找不到我要找的东西。也许我的关键词选择不当。

1 个答案:

答案 0 :(得分:1)

您包含process结构定义所在的文件。

正如@AusCBloke注意到的那样,您将使用(*p).取消引用结构指针并访问其成员,或p->这是(*p).的语法糖