【发布时间】:2014-05-31 20:47:45
【问题描述】:
我正在尝试做一个我的老师用 C 语言给我的练习,但我被困在这里
这是我的代码:
typedef struct First_s
{
double a;
double b, c;
double d;
} First_t;
typedef struct Second_s
{
char e[10];
long f;
First_t g;
} Second_t;
int compare(Second_t *x, Second_t *y)
{
if(x.g.b >y.g.b){
return 1;
}else{
return 0;
}
}
void sortList(Second_t list[], long len, int (*compare) (Second_t *a, Second_t *b)){
}
谁能告诉我如何使用这个 *compare 函数。 我在网上找了,但我真的不知道如何找到它,因为我不知道这种函数是如何调用的。
谢谢你:)
【问题讨论】:
-
您将编译器错误消息发布为标题,但从不提及您的问题中的编译问题。你在问什么?
-
对不起,我马上改了。没想到:(
-
*compare 是一个指向函数的指针。为该参数传递一个函数, . . . .就像你的“int compare”函数一样。
-
@JonathonReinhart 我在问如何使用 void sortlist() 参数中的 (*compare) (Second_t *a, Second_t *b)
-
@user3344003 但是如何在 void sortList() 函数中使用它,当我尝试这样做时: if(compare(a,b) == 0) 它不起作用: (
标签: c struct compare declaration