我的头文件名为vector.h
typedef struct coordinates coordinates;
坐标结构应该有两个变量。
x
和y
如何在不更改头文件中的任何内容的情况下包含这两个变量
x
和y
?我的想法是在
main.c
coordinates{
int x;
int y;
};
我写上面是因为我已经在vector.h中写了一个
typedef struct coordinates
。所以,如果我再写一次,它就会重复。但是上面的语法本身是错误的,因为编译器正在抛出错误。如果我理解结构错误,请帮助我,或者帮助我如何在结构中声明变量。 最佳答案
标题中的此声明
typedef struct coordinates coordinates;
不是很有用,因为在大多数情况下通常需要完整的结构定义。因此,一般来说,最好在头中附加完整的结构定义。
例如
typedef struct coordinates coordinates;
struct coordinates
{
int x;
int y;
};
只有在不需要结构的compete类型时,单个typedef声明才足够。例如,当只声明指向结构对象的指针时。
如果不能更改标题,请包含此定义
struct coordinates
{
int x;
int y;
};
在引用结构的模块中。
关于c - c中的类型声明和声明结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57935490/