Bunun yapı içinde bir alan olarak typedef void (*DoRunTimeChecks)();
Bir işlev işaretçisini bir yapıya nasıl kaydedebilirim?
nasıl depolayabilir mi ilan etmişlerdir? Nasıl atayabilirim? Fn() öğesini nasıl arayabilirim?
Bunun yapı içinde bir alan olarak typedef void (*DoRunTimeChecks)();
Bir işlev işaretçisini bir yapıya nasıl kaydedebilirim?
nasıl depolayabilir mi ilan etmişlerdir? Nasıl atayabilirim? Fn() öğesini nasıl arayabilirim?
Tıpkı sizin gibi koymak başka herhangi alanı:
struct example {
int x;
DoRunTimeChecks y;
};
void Function(void)
{
}
struct example anExample = { 12, Function };
alanına atamak için:
anExample.y();
#include <stdio.h>
typedef void (*DoRunTimeChecks)();
struct func_struct {
DoRunTimeChecks func;
};
void function()
{
puts("hello");
}
int main()
{
struct func_struct func_struct;
func_struct.func = function;
func_struct.func();
return 0;
}
Not:
işlevini çağırmak için Bu, C, void fn() ve void fn (void) 'in eş anlamlı değildir. –
+1 teşekkürler. Ben zaten buna düştüm – Mawg