C語(yǔ)言中函數(shù)指針的三種使用方法總結(jié)
C語(yǔ)言中函數(shù)指針的三種使用方法總結(jié)
在這里分享一下自己的心得,希望和大家一起分享技術(shù),如果有什么不足,還請(qǐng)大家指正。寫(xiě)出這篇目的,就是希望大家一起成長(zhǎng),我也相信技術(shù)之間沒(méi)有高低,只有互補(bǔ),只有分享,才能使彼此更加成長(zhǎng)。
定義方式:int (*p)(int x, int y);
實(shí)現(xiàn)代碼:
#include <stdio.h> int sum(int x, int y){ return x + y; } int reduce(int x, int y){ return x - y; } int multiply(int x, int y){ return x * y; } float divide(int x, int y){ if(y ==0) return 0; else return x *1.0f/ y; } struct Student{ int age; float weight; char *name; void(*studentP()); } int main(int argc, const char * argv[]) { // 1.定義函數(shù)指針 int (*p)(int x, int y); // 2.初始化 p = sum; // 3.賦值 int s = p(3,2); // 4.打印 printf("%d\n",s);//=5; //-------------- printf("請(qǐng)輸入數(shù)字1,2,3,4\n"); int num; scanf("%d",&num); switch (num) { case 1: p = sum; break; case 2: p = reduce; break; case 3: p = multiply; break; case 4: p = divide; break; } int result = p(22,2); printf("%d\n",result); //結(jié)構(gòu)體: struct Student stu = (22,88,"tom",studp); printf("結(jié)構(gòu)體長(zhǎng)度=%d",sizeof(stu)); //1. stu.studp; //2. struct stu* stp = &stu; (*stp).studp; //3. stp -> studp; return 0; }
如有疑問(wèn)請(qǐng)留言或到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
淺談C++ 類(lèi)的實(shí)例中 內(nèi)存分配詳解
下面小編就為大家?guī)?lái)一篇淺談C++ 類(lèi)的實(shí)例中 內(nèi)存分配詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12C++?兩個(gè)類(lèi)通過(guò)智能指針進(jìn)行訪(fǎng)問(wèn)操作代碼
在C++中,有多種方法可以實(shí)現(xiàn)將一個(gè)函數(shù)傳遞給另一個(gè)類(lèi),并在該類(lèi)中調(diào)用該函數(shù),您可以選擇將函數(shù)作為回調(diào)函數(shù)或通過(guò)類(lèi)的成員函數(shù)來(lái)實(shí)現(xiàn),這篇文章主要介紹了C++?兩個(gè)類(lèi)通過(guò)智能指針進(jìn)行訪(fǎng)問(wèn)操作,需要的朋友可以參考下2023-08-08VC中實(shí)現(xiàn)GB2312、BIG5、Unicode編碼轉(zhuǎn)換的方法
這篇文章主要介紹了VC中實(shí)現(xiàn)GB2312、BIG5、Unicode編碼轉(zhuǎn)換的方法,該功能非常實(shí)用,需要的朋友可以參考下2014-07-07深入了解C語(yǔ)言字符函數(shù)和字符串函數(shù)
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言字符/字符串的相關(guān)函數(shù),文中通過(guò)示例代碼總結(jié)的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07C/C++ 實(shí)現(xiàn)遞歸和棧逆序字符串的實(shí)例
這篇文章主要介紹了C/C++ 實(shí)現(xiàn)遞歸和棧逆序字符串的實(shí)例的相關(guān)資料,這里提供實(shí)例代碼幫助大家學(xué)習(xí)掌握,需要的朋友可以參考下2017-08-08