2012-09-14 15 views
0

所以我最近一个Java和C#的人做一些东西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中很新,可能这是一个非常基本的问题,但我在互联网上做了一个小时的搜索,最终没有找到我要找的东西。也许我的关键词选择不当。

+0

也许事情并不清楚,但你通常把所有的声明在头文件。 – Mysticial

+0

'#include“process.h”''process'就在那里吗? – nullpotent

+0

在您的实现文件(.c)中添加顶部添加: #include“yourheaderfile.h”(用文件名称替换您的头文件) – Borgleader

回答

1

包含文件结构定义为process

由于@AusCBloke注意到,你要么使用(*p).取消引用结构指针并访问其成员,或p->这是语法糖(*p).

+0

就像Java一样,我想我需要创建另一个类,那么这将是一个头文件。我试图避免为一个新结构写另一个头文件。 – as3rdaccount

相关问题