繁体   English   中英

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

[英]Can I use a struct in a way that does not exist in the header file implementation?

因此,我最近是一名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语言的新手,也许这是一个非常基本的问题,但是我在互联网上进行了一个小时的搜索,最终没有找到我想要的东西。 也许我的关键字选择不正确。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM