Hỏi về double (*f)(double) trong C

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;
}

Admin xóa hộ e topic này với, vì e đã hiểu ra vấn đề. Em cảm ơn nhiều. (em không tìm ra chỗ để tự xóa được :()

Bạn có thể cung cấp thông tin bạn tìm được để giải đáp thắc mắc không? Để cho mọi người cùng biết ấy mà :smiley:

Sau đó mình giúp close topic cho.

1 Like

Hi,
vì mình ko học ở VN nên thông tin mình tìm dc cũng ko phải bằng Tiếng Việt :frowning: (cũng ko phải Tiếng Anh).
Mình có đọc được cái này bằng Tiếng Anh: http://stackoverflow.com/questions/25036175/what-could-be-the-expression-double-fdouble-in-c-mean, cũng tương đối dễ hiểu, tuy ko nhiều.

This topic was automatically closed 6 hours after the last reply. New replies are no longer allowed.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?