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