iOS開發入門 ☞ C語言(高級指針,判斷類型)。本站提示廣大學習愛好者:(iOS開發入門 ☞ C語言(高級指針,判斷類型))文章只能為提供參考,不一定能成為您想要的結果。以下是iOS開發入門 ☞ C語言(高級指針,判斷類型)正文
高級指針:包括雙指針(二級指針)、void指針、函數指針。
1. 雙指針雙指針(二級指針),是指針的指針。
2. void指針
void指針:萬能指針,代表任意類型的指針。
malloc分配堆內存時,由於無法確定內存存儲類型,所以可以使用void*代表任意指針類型。
3. 函數指針
函數指針的聲明方法為:
返回值類型 (*指針變量名) ([形參列表]);
函數指針(指向函數的指針)的定義格式:
函數也會占用一塊存儲空間,因為函數也會占用一塊存儲空間所以函數也有自己的地址
函數的地址保存在函數名中,函數名就是函數的地址 == 數組名就是數組的地址
數組名就是指向數組第一個元素的常量指針,函數名也是指向函數第一條指令的常量指針。
函數指針的語法格式:
函數指針的優缺點:
如,通用定積分計算,被計算函數是待定的,是由調用者確定的函數
如,通用排序函數也是,比較函數與交換函數也是讓用戶自己編的
判斷類型
怎麼判斷類型:從右往左邊看,沒有括號就看最右邊是什麼類型就是什麼類型;有括號,括號裡是什麼類型就是什麼類型。
(int)有參數就是函數
int (*a)(int) 函數指針
int *a (int) 指針函數
函數和方法的區別:函數是大家的,沒有類。方法是類的,不是所有人都能用。