tft每日頭條

 > 生活

 > c語言函數用指針定義

c語言函數用指針定義

生活 更新时间:2024-12-04 18:46:29
指針函數

指針函數,顧名思義,是一個函數,隻不過這個函數的返回值為一個指針即返回的值為一個地址。

申明格式為:*類型标識符 函數名(參數表)。如:

int* fun(int x,int y);

我習慣把int和*寫在一起,其實這樣也更便于理解,fun為我們定義的一個函數,可傳入兩個int型的參數,這個函數的返回值為一個int型的指針。

來看一個demo:(求兩個數的和)

c語言函數用指針定義(指針函數和函數指針)1

sum這個函數的返回值為U8類型的指針即為一個U8類型的地址,c這個内存空間中存放的是輸入的兩個數的和,p為一個指針,存放的為存放兩個數的和的存儲空間的地址,将p返回即返回的為一個指針,在主函數中,重新定義的p為一個指針,該指針指向sum函數,*P為該地址中存放的值。

函數指針

函數指針,顧名思義,這是一個指針,隻不過這個指針是一個指向一個函數入口的指針。

聲明格式:類型說明符 (*函數名) (參數)。如:

int (*fun)(int x,int y);

這是一個int型的指針,該指針指向的地址為一個函數的首地址即函數入口地址,該函數有兩個形參。這個*是修飾這個函數的,故和fun寫在一起,用括号括起來。

來看一個demo:(求兩個數的和)

c語言函數用指針定義(指針函數和函數指針)2

定義一個普通的求和函數add,在主函數裡面定義一個函數指針,将該函數指針指向add函數,在傳入實參,進行的也是求和運算了。其實函數指針也就是c 裡面多态的理論基礎了。

簡單總結一下函數指針和指針函數:

函數指針:是一個指針,該指針指向函數的入口地址

指針函數:是一個函數,該函數的返回值為指針類型

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved