在C語言中指針函數(shù)和函數(shù)指針是兩個不同的概念,不能混淆。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設、臨河網(wǎng)站維護、網(wǎng)站推廣。
指針函數(shù)本質上是函數(shù),是一個返回類型為指針的函數(shù),如:
int* max(int *array,int n)
{
//找最大值的地址
return 最大值的地址;
}
max就是一個指針函數(shù)。
而函數(shù)指針本質上是指針,是指向函數(shù)的指針,如:
int (*funp)(int a,int b);
funp就是一個函數(shù)指針,可以用它指向一個返回類型為int、有兩個int類型的參數(shù)的函數(shù)。
指針函數(shù),本質上是一個函數(shù),只是函數(shù)的返回值是一個指針,比如int
*f()
函數(shù)指針,本質上是一個指針,只是指向的是一個函數(shù),比如int
(*f)()
沒錯,函數(shù)名就像是數(shù)組名,也是指針,獨有特點就是①存在于代碼段、②定值(程序加載進內存后就不能改變了);相對的,普通的指針是可以移動的(改變他的指向)
01
指針函數(shù)通常是指函數(shù)返回值是指針的一類函數(shù),如圖所示。
02
函數(shù)指針是指指向某個具體函數(shù)的指針變量,在程序設計時可以用來調用某個特定函數(shù)或者做某個函數(shù)的參數(shù)。其形式一般如圖:
03
指針函數(shù)與函數(shù)指針本質上的區(qū)別是,指針函數(shù)是一個帶指針的函數(shù),總的來說還是一個函數(shù),如圖就是一個帶*name指針的函數(shù)
04
函數(shù)指針是指向函數(shù)的指針變量,本質上還是一個指針,其格式如下,可以看到和指針函數(shù)的格式非常像,所以一定要用心留意。