Мне нужно создать funcion, который получает указатель на структуру и указатель void, он возвращает 1, если элемент находится в структуре.Сравните элемент внутри структуры с значением указателя void в C
typedef struct {
char *sx;
int val, code, qtty;
char abc [20];
} ST_DAT;
int compare (ST_DAT *, void *);
Это часть программы, которая сравнить узлы в двойном связанном списке, но это несильно используется как:
int (*pfun)(ST_DAT *, void *));
Проблема в том, что я не знаю, как сравнить void *
к другим значениям, пока не найду или не значение внутри.
int compare (ST_DAT *stData, void *key)
{
if (key == (*stData).val || key == (*stData).code || key == (*stData).qtty || strcmp (key,(*stData).abc) || strcmp (key,(*stData).sx))
{
return 1;
}else{
return 0;
}
}
Это правильно?
Как называется «сравнение»? – mafso
... или даже более конкретный: что передается как 2-й параметр при вызове 'compare()'? – alk
... нажмите этот f ... f ... смешной сдвиг в следующий раз, если вы наберете «I» ... – peterh