当我用指向函数的指针做某事时,我注意到了一些东西但不明白
我这样做了:
#include <stdio.h>
int callback(void)
{
return 5;
}
void call(int (*cpmpare)(void))
{
int x;
x = cpmpare();
printf("%d", x);
}
void main()
{
int (*compare)(void);
int *a, b;
b = 5;
a = &b;
compare = callback;
printf("%p\n", &callback);
printf("%p\n", compare);
call(&callback);
}
compare = &callback
而我这样compare = callback
做了,它也做了同样的事情,比较得到了与回调相同的地址。
为什么它是双向的?
据我所知,比较指针和常规变量是错误的。