gpt4 book ai didi

c - 包含函数的 .h 文件

转载 作者:行者123 更新时间:2023-11-30 14:55:37 25 4
gpt4 key购买 nike

我正在将结构指针传递给另一个 .c 文件中的函数。我需要在两个 .c 文件中都包含这个头文件吗?

//test.h
typedef struct {
int number;

} STATS;

//test.c
#include "test.h"
void function(){

func2(s);
}

//stats.c
//do I need : include "test.h"
void func2(STATS * ptr){
ptr->number = 10;
}

最佳答案

是的,stats.c需要结构定义才能知道num成员在STATS结构中的位置。

如果它只是将指针传递给其他函数,则不需要结构定义;您只需要结构类型名称的前向声明;所有结构指针都必须以这种方式兼容,并且允许将指针视为不透明句柄。但由于 func2 访问成员,因此它不是不透明的。

关于c - 包含函数的 .h 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45685533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com