Cポインタプログラミングの道(二)-ポインタと関数
3082 ワード
関数へのポインタ(関数ポインタ)
/** * */
# include
int main() {
int a=1, b=2;
int max(int, int);
int min(int, int);
int add(int, int);
void func(int, int, int (*p)(int,int)); //
func(a, b, max); //2
func(a, b, min); //1
func(a, b, add); //3
return 0;
}
void func(int x, int y, int (*p)(int,int)) {
printf("%d
", (*p)(x, y));
}
int max(int x, int y) {
return x>y ? x : y;
}
int min(int x, int y) {
return x < y ? x : y;
}
int add (int x, int y) {
return x+y;
}
関数ポインタとポインタ関数
// : ,ep. int (*p)(int x, int y)
// : ,ep. int * p(int x, int y)
main関数
//main , 0 , 0
// C99 ,main :
int main(void) {
//...
return 0;
}
int main(int argc, char *argv[]) { //argc ,argv
//...
return 0;
}