![](/img/trans.png)
[英]C programming. How to hide implementation of the struct in .c if I need to refer to its instance in header file (.h)
[英]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.