#include <stdio.h>char (*pFun) (int);char glFun(int a)
{ return a;
}int main(void)
{
pFun = glFun; // 1、printf("%c\n", pFun('a')); // 2、printf("%c\n", (*pFun)('a'));}1、代碼注釋中的兩種寫法的區(qū)別在哪?
2、為什么運行結果是一樣的?
3、如果沒有區(qū)別,那種寫法好一些(如果有區(qū)別請忽略)?
先謝過各位大神了?。?!
1 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經驗 獲得超6個贊
1. 前者是隱式的,后者是顯式,在C中都可以調用指向的函數(shù);這個跟pFun = &glFun類似。
2. 因為調用了指向的函數(shù)地址,當然返回的結果是一樣的。
3. 后者寫法規(guī)范一些,讓人和編譯器立刻能知道這是一個函數(shù)指針變量在調用對應的函數(shù)功能。在C++中,基本類的非成員函數(shù)指針都需要后面這種寫法。
- 1 回答
- 0 關注
- 1111 瀏覽
添加回答
舉報
0/150
提交
取消