Con trỏ tới hàm
Nó chứa địa chỉ cơ sở của định nghĩa hàm trong bộ nhớ.
Tuyên bố
datatype (*pointername) ();
Bản thân tên của hàm chỉ định địa chỉ cơ sở của hàm. Vì vậy, quá trình khởi tạo được thực hiện bằng cách sử dụng tên hàm.
Ví dụ,
int (*p) (); p = display; //display () is a function that is defined.
Ví dụ 1
Chúng ta sẽ thấy một chương trình để gọi một hàm bằng cách sử dụng con trỏ tới hàm -
#include<stdio.h>
main (){
int (*p) (); //declaring pointer to function
clrscr ();
p = display;
*(p) (); //calling pointer to function
getch ();
}
display (){ //called function present at pointer location
printf(“Hello”);
} Đầu ra
Hello
Ví dụ 2
Chúng ta hãy xem xét một chương trình khác giải thích khái niệm con trỏ tới hàm -
#include <stdio.h>
void show(int* p){
(*p)++; // add 1 to *p
}
int main(){
int* ptr, a = 20;
ptr = &a;
show(ptr);
printf("%d", *ptr); // 21
return 0;
} Đầu ra
21