C 學習筆記 四 指標 1

2021-08-25 03:06:16 字數 1003 閱讀 6241

函式存放在記憶體的**區域內,它們同樣有位址,我們如何能獲得函式的位址呢?

如果我們有乙個int test(int a)的函式,那麼,它的位址就是函式的名字,這一點如同陣列一樣,陣列的名字就是陣列的起始位址。

定義乙個指向函式的指標用如下的形式,以上面的test()為例:

int (*fp)(int a);//這裡就定義了乙個指向函式的指標

函式指標不能絕對不能指向不同型別,或者是帶不同形參的函式,在定義函式指標的時候我們很容易犯如下的錯誤。

int *fp(int a);//這裡是錯誤的,因為按照結合性和優先順序來看就是先和()結合,然後變成了乙個返回整形指標的函式了,而不是函式指標,這一點尤其需要注意!

下面我們來看乙個具體的例子:

#include

<

iostream

>

#include

<

string

>

using

namespace

std;

inttest(

inta);

void

main

(int

argc

,char

*argv)

inttest(

inta)

typedef定義可以簡化函式指標的定義,在定義乙個的時候感覺不出來,但定義多了就知道方便了,上面的**改寫成如下的形式:

#include

<

iostream

>

#include

<

string

>

using

namespace

std;

inttest(

inta);

void

main

(int

argc

,char

*argv)

inttest(

inta)

源文件 <>

C 學習筆記 四 指標 4

類成員指標 本文主要討論 c 中類成員的指標,這部分內容少有使用,也比較難於理解。如果文中有錯誤或遺漏之處,敬請指出,謝謝!需要使用類成員指標的情況是比較少見的,所以一般沒人使用這個語言特性。下面先介紹類成員指標的使用方法,再介紹它的可能應用場合。有時,我們需要在類外的其它地方直接獲得類成員,這時我...

C語言學習筆記(四) 指標

c語言學習筆記 四 指標 include intmain p就是乙個指標,p就是取出p指向位址的值 陣列 相同型別的資料集合 include intmain 在這個程式中,p是乙個指標,a是乙個陣列,若p a 0 或者p a就是p指向陣列的第乙個元素,接下來就可以對p進行 1或 1進行偏移操作 in...

C 學習筆記 四 指標(2)轉

分類 c 學習筆記 2010 04 03 14 11 283人閱讀 函式和函式指標 最近在看 寫 的人很喜歡用 函式和函式指標。一直覺得 函式和函式指標挺神秘的,所以查了一些資料,來與大家一起來分享。什麼是 函式 簡而言之,函式就是乙個通過函式指標呼叫的函式。如果你把函式的指標 位址 作為引數傳遞給...