指標與函式

2021-10-03 04:14:27 字數 1100 閱讀 1490

遇到指標與函式結合的問題只要把握好以下三點:

1.指標的最基本的作用就是起到「間接訪問」的作用

2.形參與實參的傳遞問題

3.要注意交換的是「指向」還是「值」

我們來看兩個例子:

一.

#include

void

swap

(int

*pa,

int*pb)

intmain()

執行結果

the original data:a=3,b=5

the result :a=5,b=3

程式分析

把a與b的位址傳入到函式中後,此時指標變數pa指向a,pb指向b;之後把pa指向的數也就是a,賦給temp;把pb指向的數也就是b,賦值給pa指向的數也就是a,此時原來a的值被改寫成了b的值;之後又把a賦值給了pb所指向的空間,也就是原來b的值被改寫成了a的值。實現了a,b的值互換。所以以前a=3,b=5;後來的結果變成了a=5,b=3(交換的是指標變數所指向的值)二.

#include

void

swap

(int

*pa,

int*pb)

intmain()

執行結果

the original data:a=3,b=5

the result :a=3,b=5

程式分析

先將a,b的值傳入函式中,然後將a的位址賦給指標變數temp(記錄以前a的位址);再將b的位址賦給指標變數pa;最後,將a的位址賦給指標變數pb,就達到了交換指標變數pa,pb的指向(可以這樣理解:實際上交換的是這兩個值的位址,而達到交換指標變數的指向)此時在swap函式內a,b的值被交換了。但又由於函式內的記憶體為動態記憶體,函式執行完後記憶體會釋放而且形參不能傳遞給實參。所以a和b前後的值不變。(交換的是指標變數的指向

函式指標與指標函式

指標函式 指標函式是指函式的返回值型別是乙個指標型別,即本質是乙個函式。我們知道函式都有返回型別 如果不返回值,則為無值型 只不過指標函式返回型別是某一型別的指標。其定義格式如下所示 返回型別識別符號 返回名稱 形式參數列 返回型別可以是任何基本型別和復合型別。返回指標的函式的用途十分廣泛。事實上,...

函式指標與指標函式

函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...

函式指標與指標函式

函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...