《函數(shù)指針和指向函數(shù)的指針》由會員分享,可在線閱讀,更多相關(guān)《函數(shù)指針和指向函數(shù)的指針(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、函數(shù)指針和指向函數(shù)的指針 用函數(shù)指針變量調(diào)用函數(shù);函數(shù)指針作函數(shù)的參數(shù);返回指針的函數(shù)。 1、用函數(shù)指針變量調(diào)用函數(shù)(函數(shù)指針)一個函數(shù)在編譯時被分配一個入口地址(第一條指令的地址),這個入口地址稱為函數(shù)的指針。如果一個指針變量的值等于函數(shù)的入口地址,稱為指向函數(shù)的指針變量,簡稱為函數(shù)指針;可以通過函數(shù)指針來調(diào)用函數(shù)。函數(shù)指針定義的一般形式:函數(shù)返回值類型(*指針變量名)(形參類型 )eg:注:用函數(shù)指針調(diào)用函數(shù)時,應(yīng)指定實參;(表示一個指向函數(shù)的指針變量,它可以先后指向不同的函數(shù);指向函數(shù)的指針變量p,向p+、p-、p+n等運算是無意義的。 用函數(shù)指針調(diào)用函數(shù)max() 2.函數(shù)指針作函數(shù)參
2、數(shù)實參函數(shù)名 sub(int(* x1)(int), int(*x2)(int,int) /*定義x1、x2為函數(shù)指針變量,x1指向的函數(shù)有一個整型形參,x2指向的函數(shù)有兩個整型形參*/ int a,b,i=a,j=2;a=(*x1)(i); /*調(diào)用f1函數(shù)*/b=(*x2)(i,j); /*調(diào)用f2函數(shù)*/ f1x1 f2x2 lizi.CPP 3、返回指針的函數(shù)一般形式:類型標(biāo)識符 * 函數(shù)名(參數(shù)表)例int * a (int x, int y)聲明一個函數(shù),函數(shù)名為a,其返回值類型是“指向整型的指針”,函數(shù)形式參數(shù)為int x 和 int y。 例2.有若干學(xué)生的成績(每個學(xué)生四門課程),要求用戶在輸入學(xué)生序號(從開始)后,能輸出該學(xué)生的全部成績。分析:設(shè)計一個指針pointer指向一個學(xué)生的四門成績 float (*pointer)4看圖!pointer是一個指向一維數(shù)組的指針。數(shù)組元素個數(shù)為4(四門課程) pointer+1指向下一個學(xué)生的成績。輸入學(xué)生序號后,使pointer指向該學(xué)生的成績,然后返回pointer指針. lizi2.CPP