関数のポインタ -- 引数渡し
戻る
::::::::::::::
Function-test.c
::::::::::::::
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int add
( int x, int y ) {
return x + y;
}
int
subtract ( int x, int y ) {
return x - y;
}
// 関数ポインタの引数渡し
void
display ( int* func ( int x, int y ), int a, int b ) {
printf ( "result = %d\n", ( *func ) ( a, b ) );
}
int
main ( void ) {
int x;
int ( *func ) ( int, int );
func = add;
printf ( "%d\n", ( *func ) ( 2, 3 ) );
func = subtract;
printf ( "%d\n", ( *func ) ( 2, 3 ) );
display ( add, 10, 3 );
display ( subtract, 10, 3 );
}
■実行結果
::::::::::::::
$ ./Function-test.exe
5
-1
result = 13
result = 7
戻る