C函數指針

       本人略懶,不喜長篇大論的寫些語法特性什麼的,前兩天無事隨手打開一PDF,看到關於函數指針的用法以前沒有這麼用過,遂寫一小例試試,其實感覺函數指針與面向對象有異曲同工之妙(如果理解有誤,,還請大家多多包含並指正^_^!!!)

  1. #include <stdio.h> 
  2.  
  3. typedef struct { 
  4.     void (*print_it)(); 
  5.     int  (*max_get)(int x, int y); 
  6. }func_pointer; 
  7.  
  8. void print_err() 
  9.     printf("This is for test!\n"); 
  10.  
  11. void print_end() 
  12.     printf("****** END ***********\n"); 
  13.  
  14. int max_two(int x, int y) 
  15.     return( x > y ? x : y); 
  16.  
  17. int main(int argc, char **argv) 
  18.     func_pointer test; 
  19.     test.print_it = print_err; 
  20.     test.max_get = max_two; 
  21.     test.print_it(); 
  22.     printf("%d\n", test.max_get(9,78)); 
  23.     test.print_it = print_end; 
  24.     test.print_it(); 
  25.     return 0; 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章