Em chào mọi người.
Em mới học C và thầy có cho Code như sau. Mọi ng có thể giải thích cho em đoạn Code đó và đặc biệt là đoạn này được ko ạ : double (*f)(double).
Em cảm ơn.
CODE:
#include <stdio.h>
#include <math.h>
double sqr(double x) {
return x;
}
void map(double a[], double(*f)(double), double b[], int b_length) {
int k;
for (k = 0; k < b_length; k++)
a[k] = (*f)(b[k]);
}
int main(){
int k;
double a[5];
double b[5] = { 0.5, 1, 2, 3, 4 };
map(a, sqr, b, 5);
for (k = 0; k < 5; k++)
printf("%lf ", a[k]);
getchar();
return 0;
}