#include "stdio.h" /* typedef s8 - s32 { */ typedef char s8; typedef short s16; typedef int s32; /* } typedef s8 - s32 */ typedef char * LPSTR; typedef const char * LPCSTR; typedef void(* pfInt)(s32 nA1, s32 nA2); typedef void(* pfChar)(LPSTR lpstrSrc, LPCSTR lpcstrDst); typedef struct tagFunc { pfInt pfFunInt; pfChar pfFunChar; }TFunc; void FunctionInt(s32 nA1, s32 nA2) { printf("nA1:%d, nA2:%d/n", nA1, nA2); } void FunctionChar(LPSTR lpstrSrc, LPCSTR lpcstrDst) { printf("lpstrSrc:%s, lpcstrDst:%s/n", lpstrSrc, lpcstrDst); } TFunc tFunction = { &FunctionInt, &FunctionChar, }; int main(int argc, char *argv[]) { tFunction.pfFunInt(100, 200); tFunction.pfFunChar((LPSTR)"char-100", (LPCSTR)"char-200"); return 0; }