- C——函數指針
- 函數和變量
- 在解釋什么是函數指針之前,先闡述一下函數名和變量的的關系
- 函數名和變量在指針方面有點相似,
- 舉個例子更加說明情況
- void (*fun)(char ) //聲明 函數指針
- void fun1(char) //函數
- 函數指針的幾種調用
- fun=fun1;
- fun=&fun1;
- (*fun1)('a');
- 聲明 函數指針類型
- typedef void (*fun)(char) //聲明函數指針類型
- void fun1(void ) ;
- fun fun2;//聲明 函數變量
- fun2=fun1;
- 函數傳參類型為函數類型
- void fun2(fun a);
- void fun fun3;
- void fun2(fun3);
- 函數和變量
- C——函數注冊和回調
- 函數注冊
- typedef void (*fun)(char)
- void RegisterEven(int ID,fun fun1 )
- {
- fun fun2;
- if(ID==0) fun2=fun1;
- }
- 函數回調
- fun2('a');
- 函數的注冊和回調 一般會用到數組
- fun Fun[3]={NULL,NULL,NULL)
- void fun3(char ss)
- { printf("%c",ss);}
- void RegisterEven(int ID,fun a)
- {
Fun[0]=a; - }
- RegisterEven(0,fun3);
- Fun[0]("A"); //回調
- C++里也有函數注冊和回調,我會提領寫一篇C++的相關內容。
- 函數注冊
- C——指針函數
- 指針函數為函數的返回類型為指針類型
- int * fun(char *,int)
- 指針函數為函數的返回類型為指針類型