C語言篇 14 高階指標 判斷型別

2022-08-03 09:09:13 字數 1069 閱讀 8700

高階指標:包括雙指標(二級指標)、void指標、函式指標。

雙指標(二級指標),是指標的指標。

void指標:萬能指標,代表任意型別的指標。

malloc分配堆記憶體時,由於無法確定記憶體儲存型別,所以可以使用void*代表任意指標型別。

函式指標的宣告方法為:

返回值型別(*

指標變數名

) ([形參列表]);

函式指標(指向函式的指標)的定義格式:

函式也會占用一塊儲存空間,因為函式也會占用一塊儲存空間所以函式也有自己的位址

函式的位址儲存在函式名中,函式名就是函式的位址 == 陣列名就是陣列的位址

陣列名就是指向陣列第乙個元素的常量指標,函式名也是指向函式第一條指令的常量指標。

函式指標的語法格式:

函式指標的優缺點:

如,通用定積分計算,被計算函式是待定的,是由呼叫者確定的函式

如,通用排序函式也是,比較函式與交換函式也是讓使用者自己編的

怎麼判斷型別:從右往左邊看,沒有括號就看最右邊是什麼型別就是什麼型別;有括號,括號裡是什麼型別就是什麼型別。

int (*a)[10] 陣列指標

(int)有引數就是函式

函式和方法的區別:函式是大家的,沒有類。方法是類的,不是所有人都能用。

C語言 高階指標

import import myfunction.h 巨集後面不要加分號 define kimagewidth 200 define kimageheight 200 有引數的巨集 define kmax a,b a b a b 加上括號 define kmul a,b a b define and...

c語言高階 陣列型別與陣列指標

元素型別角度 陣列是相同型別的變數的有序集合 記憶體角度 連續的一大片記憶體空間 陣列元素的個數可以顯式或隱式指定 陣列初始化可以使用或memeset兩種方式 void main 隱式指定元素個數 int b 100 顯式指定元素個數 int c 200 編譯時就已經確定所有值為零 memset c...

C語言型別判斷

型別判斷 宣告一種型別後,特別是複雜的型別時,判斷的方法為 以識別符號為起點 先右後左 碰到小括號 掉頭 所有路徑只走一次。舉例分析 int a 10 2 a為識別符號,往右走遇到中括號 說明a為陣列,對於陣列,關心的是陣列元素的個數和元素型別,繼續往右走可以發現元素個數為10個,型別呢?往右走遇到...