函數指針和指針函數是兩個不同的概念。
函數指針是指指向函數的指針變量,即指針變量存儲的是函數的地址。通過函數指針可以實現函數的動態調用,可以將函數指針作為參數傳遞給其他函數,也可以將函數指針作為返回值返回。函數指針的聲明形式為返回類型 (*指針變量名)(參數列表)
,例如int (*funcPtr)(int, int)
表示一個返回類型為int,接受兩個int類型參數的函數指針。
指針函數是指返回指針的函數,即函數的返回類型為指針。指針函數可以返回任何類型的指針,包括整型指針、字符指針、結構體指針等。指針函數的聲明形式類似于普通函數的聲明,只是返回類型為指針類型,例如int* func()
表示一個返回int類型指針的函數。
因此,函數指針和指針函數在概念上是不同的,函數指針是指向函數的指針變量,而指針函數是返回指針的函數。