資料結構學習 指標與函式

2021-08-10 07:48:57 字數 1260 閱讀 1511

函式指標傳遞引數

①指標作為函式的引數

②指標作為函式的返回值

③指向函式的指標

指標作為函式引數

函式的引數不僅可以是整型,實型,字元型等資料,還可以是指標型別,因此可以像其他變數一樣在函式間傳遞指標變數,

使用時注意,指標儲存的是乙個變數的位址,而不是變數的值。

#include

void swap(int *p,int *q)    //傳遞的是位址,相應的定義指標變數作形參

int main()

函式返回指標

函式返回值的型別不僅可以是簡單的資料型別,指標作為一種變數,同樣允許作為函式的返回值

返回指標的函式定義的一般形式為

型別識別符號 * 函式名(形參表)

函式體語句

其中,函式名之前加了 * 號表明這是乙個指標型函式,即返回值是乙個指標。型別識別符號表示了返回的指標值所指向的資料型別

#include

int* max(int *a,int *b)

int main()

指向函式的指標

乙個函式所包含的指令在記憶體中總是占用一段連續的儲存空間,把這段儲存空間的首位址稱為函式的入口位址,通過函式名可以得到這一位址,也可以把函式的這個首位址賦予乙個指標變數,使該指標變數指向該函式,然後通過指標變數就可以找到並呼叫這個函式。有時也把這種指向函式的指標變數稱為 「函式指標變數」

定義指向函式的指標變數

型別識別符號(*指標變數名)(形參列表)

型別識別符號表示被指函式的返回值的型別,(*指標變數名)表示*後面的變數是定義的指標變數。

例如:int (*pf)()

表示 pf 是乙個指向函式的指標變數,該函式為無參函式,且函式的返回值是整型

利用函式指標呼叫函式的一般形式為:

(*指標變數名)(實參表)

#include

int max(int a,int b)

int min(int a,int b)

通過指向函式的指標變數呼叫函式的步驟

①定義指向函式的指標變數,如int(*p)(int,int)

②把被呼叫函式的入口位址(即函式名)賦給指標變數,如p=max和p=min

③用指向函式的指標變數呼叫該函式,如z=(*p)(x,y)

資料結構學習記錄 指標與陣列

陣列一旦被定義,陣列元素將在記憶體中占用一塊連續的儲存單元,陣列名就是這塊連續記憶體單元的首位址。c語言規定 對於指標的算數運算,是以指標指向的資料型別所占用的記憶體單元數為單位1 一維陣列與指標 例如 int a 5 p,q p a 0 陣列a表示陣列元素a 0 的位址,那麼a 1代表元素a 1 ...

資料結構學習

什麼是資料結構 對計算機記憶體中的資料的一種安排。資料結構有那些?優缺點?1.陣列 插入快 知道下標 查詢慢,刪除慢,大小固定 2.有序陣列 比無序的查詢塊,刪除和插入慢,大小固定 3.棧 吃多了吐 個人理解 4.佇列 吃多了拉 個人理解 5.鍊錶 插入快,刪除快,查詢慢 6.二叉樹 查詢 插入 刪...

資料結構學習

鍊錶 class listnode definit self,x self.val x 節點值 self.next none 後繼節點值 例項化節點 n1 listnode 4 節點head n2 listnode 5 n3 listnode 1 構建引用指向 n1.next n2 n2.next ...