我正在尝试创建一个生成点列表的代码。我有一个名为“punti.c”的文件,其中包含其头文件,以及一个名为“item.c”的文件,其中包含其头文件。问题是我无法从项目中访问结构体点(x,y)的变量。
我以多种方式测试了类型“Punto”,所以我确信它是有效的。 我试图更改项的typedef,将其变为指向Punto的指针,但没有成功。 (代码的一部分是用意大利语编写的,抱歉:))
//item.c
#include <stdio.h>
#include "item.h"
#include "punti.h"
int eq(item it1, item it2)
{
return it1->x == it2->x; //the problem is here
}
//item.h
#include "punti.h"
typedef Punto item;
int eq(item x, item y);
//punti.c
#include "utilities.h"
#include "punti.h"
#include <math.h>
struct punto
{
double x;
double y;
};
//punti.h
typedef struct punto *Punto;
我以多种方式测试了类型“Punto”,所以我确信它是有效的。 我试图更改项的typedef,将其变为指向Punto的指针,但没有成功。 (代码的一部分是用意大利语编写的,抱歉:))
punti.h: double getX(struct punto* p);
和punto.c: double getX(struct punto* p) { return p->x; }
。 - AconcaguaHANDLE
类型,其中指针性质确实不重要)。相反,最好typedef结构体:typedef struct punto Punto;
,并在需要指针的地方使用Punto*
。 - Aconcagua