我們先看下面2行代碼:
int (*ptr)(char* a,char* b); //定義函數指針
int *ptr(char* a,char* b); //定義指針函數
對于第一行代碼是定義了一個名字為ptr的函數指針,該指針可以指向一個帶有兩個字元指針參數且傳回值為整型的函數。而第二行代碼是一個指針函數的申明。其主要差别是函數指針需要用括号将*和指針名放到一起,否則就認為是一個函數的申明。
我們先看下面2行代碼:
int (*ptr)(char* a,char* b); //定義函數指針
int *ptr(char* a,char* b); //定義指針函數
對于第一行代碼是定義了一個名字為ptr的函數指針,該指針可以指向一個帶有兩個字元指針參數且傳回值為整型的函數。而第二行代碼是一個指針函數的申明。其主要差别是函數指針需要用括号将*和指針名放到一起,否則就認為是一個函數的申明。