vector_dinamic *creeaza_vector()
{
vector_dinamic *v=malloc(sizeof(vector_dinamic)*capacitate_initiala);
v->Element=malloc(sizeof(Elements)*capacitate_initiala);
v->lungimea=0;
v->capacitatea=capacitate_initiala;
return v;
}
这是一个动态矢量,其中lungimea是长度,capacitatea是容量。 capcacitatea_initiala是100,这意味着我可以存储100个元素。C如何比较未知类型的2个元素
typedef void* Elements;
typedef struct{
Elements * Element;
int lungimea;
int capacitatea;
} vector_dinamic;
我也有要素的这种类型的空白,能够存储不同类型的元素在我的向量,我已经成功地做加法,但我的问题是我如何可以比较的两个元素同一类型的,我想实现删除功能,但我竭力要比较两个元素
typedef struct{
int numar_apartament;
int suma;
char * tipul;
} Cheltuieli;
我有这样的元素类型,现在能有人告诉我怎么用“numar_apartament在我的通用矢量元素进行比较“?
void modifica(vector_dinamic * vector, int numar_apartament)
{
int i,a=0;
for (i=0;i<vector->lungimea;i++)
{
if (vector->Element[i]->numar_apartament)==element->numar_apartament)
a=1;
}
return a;
}
这是我试过,但我得到了很多的错误,它不工作...
谢谢!
把整个代码。你的问题的原因可能来自其他地方。 – MOHAMED 2013-03-18 09:53:44
我想,阅读西班牙语的代码有点困难。 – Alex 2013-03-18 09:54:05
与您的问题无关,但“a = 1;”第一盘后再也不会改变,所以你可以“休息”。在你第一次比赛的时候出于“for”。 – 2013-03-18 09:54:54