由於技術的需要,這幾天學習了一下關於函數指針的知識,其定義如下:
“函數指針”是指向函數的指針變量,因而“函數指針”本身首先應是指針變量,只不過該指針變量指向函數。這正如用指針變量可指向整型變量、字符型、數組一樣,這裏是指向函數。如前所述,C在編譯時,每一個函數都有一個入口地址,該入口地址就是函數指針所指向的地址。有了指向函數的指針變量後,可用該指針變量調用函數,就如同用指針變量可引用其他類型變量一樣,在這些概念上一致的。函數指針有兩個用途:調用函數和做函數的參數。(來源百度百科)。
爲了能方便大家的理解,別的不解釋,直接上函數~
---------------------------笛風2013.10.12
#include "stdlib.h"
#include "stdio.h"
void print(void *data){
printf("test\n");
}
int main(){
void (*myprint)(void *);
myprint = (void (*)(void *))print;
myprint(NULL);
}
另外:
myprint = (void (*)(void *))print;
可以直接替換成:
myprint =print;//將函數的入口地址複製給變量
小夥伴們,是不是每天都在進步,漲知識了吧~~