#include <stdio.h> // $Id: function-pointer2.html,v 1.1 2009/06/22 16:12:11 kishi Exp kishi $ typedef struct mydata { int data; void ( *function ) ( struct mydata *this, int a ); } MYDATA; void functionA( MYDATA *this, int a ) { this->data = a; } void functionB( MYDATA *this, int a ) { this->data = a * a; } int main( void ) { MYDATA a = { 0, functionA }, b = { 0, functionB }; a.function( &a, 3 ); b.function( &b, 5 ); printf( "%d\n", a.data ); printf( "%d\n", b.data ); return 0; } 戻る