【C language】函数指针
生活随笔
收集整理的這篇文章主要介紹了
【C language】函数指针
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、概述
函數(shù)指針也是一種指針,只是它指向的不是整型,字符型而是函數(shù)。在C語言中,每個(gè)函數(shù)在編譯后都是存儲(chǔ)在內(nèi)存中,并且每個(gè)函數(shù)都有一個(gè)入口地址,根據(jù)這個(gè)地址,我們便可以訪問并使用這個(gè)函數(shù)。函數(shù)指針就是通過指向這個(gè)函數(shù)的入口,從而調(diào)用這個(gè)函數(shù)。
二、使用方法
聲明
(1)int (*pFunc) (int)=NULL; (2)typedef int (*pFunc)(int);以上兩句是聲明一個(gè)指向【返回值為 int,傳入?yún)?shù)為int】的函數(shù)指針。使用時(shí)對(duì)應(yīng)下方(1)、(2)
創(chuàng)建定義
int func (int); (1)pFunc = &func; (2)pFunc pfun = &func;說明:&符號(hào)是可有可無的,因?yàn)榫幾g器在使用函數(shù)名時(shí)就已經(jīng)把它轉(zhuǎn)換為函數(shù)指針,&操作符只是顯式地說明了編譯器將隱式執(zhí)行的任務(wù)。
三、示例
int (*pFunc)(int,int); //聲明函數(shù)指針 int Get_Max_function(int val1,int val2); //聲明函數(shù) int main() {int data1,data2,result;printf("please enter 2 data: ");scanf("%d%d",&data1,&data2);pFunc = &Get_Max_function; //將指針指向該函數(shù)result = (pFunc)(data1,data2); //應(yīng)用指針printf("The max data is: %d\n",result); }int Get_Max_function(int val1,int val2) {if(val1>val2){return val1;}else{return val2;} }總結(jié)
以上是生活随笔為你收集整理的【C language】函数指针的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【嵌入式干货】利用二分法定位Flash存
- 下一篇: 【生活】1024,快乐