C語言 指針——函數指針

目錄

什么是函數指針?

函數指針的定義

定義函數指針時的常見錯誤

函數指針有什么用?

函數指針的主要應用


什么是函數指針?

函數指針 (Function Pointer) 就是指向函數的指針變量
數據類型 ( * 指針變量名 ) ( 形參列表 );
例如,若有函數原型為:
int Fun (int a, int b);
則可定義函數指針
int (*f) (int, int);
f = Fun; 就是讓 f 指向函數 Fun()
編譯器將 不帶()的函數名 解釋為該 函數的入口地址
函數指針變量存儲的是函數在內存中的入口地址

函數指針的定義

而若有函數原型為:
float Fun (float a, float b);
? 則需定義函數指針
float (*f) (float, float);
? f = Fun;
? 定義時的參數類型與指向的函數參數類型不匹配
float (*f)( int, int ); // 錯誤
float (*f) () ; // 不建議

定義函數指針時的常見錯誤

int (*f) (int, int);
? 忘了寫前一個()
int *f (int, int);
? 聲明了一個函數名為 f 返回值是整型指針類型的函數
? 忘了寫后一個()
int (*f);
? 定義了一個 整型指針變量

函數指針有什么用?

函數指針的主要應用

函數指針的主要應用
? 編寫通用性更強的函數
? 典型實例1
? 通用的計算任意函數定積分的函數
? 典型實例2
? 通用的排序函數(既能升序,又能降序)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20421.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20421.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20421.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【回眸】牛客網刷刷刷(九) ——面試經驗篇(含參考回答)

前言 度過了忙碌的4個月,經歷了加班、籌備wedding、更新簡歷,終于有些許喘息時間。 下面的規劃比較簡單,一個是備考3個月后的雅思,一個是積累牛客網沖浪經驗,最后一個是記錄工作交接項。 牛客網刷刷刷這個系列也終于迎…

el-date-picker 選擇日期范圍只保存左側日期面板

需求 日期篩選&#xff0c;但限制只能選擇同一個月的數據&#xff0c;故此應該去掉右側月份面板。 實現 主要是通過 css 樣式實現&#xff1a; <style> /* 隱藏右邊日期面板 */ .el-picker-panel__content.el-date-range-picker__content.is-right .el-date-table, .…

拼多多商品信息一鍵抓取:深度解析商品詳情接口,Python實戰代碼來襲!

拼多多的商品詳情接口允許開發者通過指定的商品ID獲取商品的詳細信息&#xff0c;如商品標題、價格、描述、圖片等。接口采用HTTP請求方式&#xff0c;支持GET方法&#xff0c;返回格式為JSON。 三、接口調用 要調用拼多多的商品詳情接口&#xff0c;你需要遵循以下步驟&…

深度學習-01-作為“箱子“的變量

深度學習-01-作為"箱子"的變量 本文是《深度學習入門2-自製框架》 的學習筆記&#xff0c;記錄自己學習心得&#xff0c;以及對重點知識的理解。如果內容對你有幫助&#xff0c;請支持正版&#xff0c;去購買正版書籍&#xff0c;支持正版書籍不僅是尊重作者的辛勤勞…

6.12 Libbpf-bootstrap(三,APP)

一,APP 既然我們已經了解了最小應用以及Makefile中的編譯方式,接下來我們將通過bootstrap應用程序展示的一些額外的BPF特性。在現代BPF Linux環境中,bootstrap是我編寫可用于生產環境的BPF應用程序的方式。它依賴于BPF CO-RE(閱讀原因請點擊這里),并且需要Linux內核以CO…

Java基礎知識點(反射、注解、JDBC、TCP/UDP/URL)

文章目錄 反射反射的定義class對象反射的操作 注解注解的定義注解的應用注解的分類基準注解元注解 自定義注解自定義規則自定義demo JDBCTCP/UDP/URLTCPUDPURL 反射 反射的定義 Java Reflection是Java被視為動態語言的基礎啊&#xff0c; 反射機制允許程序在執行期間接入Refl…

[數據集][目標檢測]腦腫瘤檢測數據集VOC+YOLO格式9787張3類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;9787 標注數量(xml文件個數)&#xff1a;9787 標注數量(txt文件個數)&#xff1a;9787 標注…

【圖像增強處理工具】軟件使用說明書

軟件使用說明書 軟件名稱 圖像增強處理工具 軟件簡介 該軟件是一個基于 PySide6 和 OpenCV 的圖像處理工具,用戶可以通過 GUI 界面來執行圖像的旋轉、平移和鏡像操作,并將處理后的圖像保存到指定路徑。 運行軟件須知 確保 ui_form.py 文件在同一目錄下,該文件包含了通…

Bean-Searcher的使用提高查詢效率

Bean Searcher官網 添加pom.xml依賴 <dependency><groupId>cn.zhxu</groupId><artifactId>bean-searcher-boot-starter</artifactId><version>4.2.9</version> </dependency>在controller層注入 Autowiredprivate MapSearch…

淺談安科瑞ASJ10-LD1A智能漏電繼電器的設計與應用-安科瑞 蔣靜

一 產品簡介 功能 ASJ10-LD1A安科瑞智能電力繼電器 剩余電流保護可與低壓斷路器或低壓接觸器等組成組合式的剩余電流動作保護器&#xff0c;主要適用于交流50Hz&#xff0c;額定電壓為400V及以下的TT或TN系統配電線路&#xff0c;防止接地故障電流引起的設備和電氣火災事故&a…

AndroidStudio中debug.keystore的創建和配置使用

1.如果沒有debug.keystore,可以按照下面方法創建 首先在C:\Users\Admin\.android路徑下打開cmd窗口 之后輸入命令:keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 輸入兩次密碼(密碼不可見,打碼處隨便填寫沒關系) 2.在build…

詳解 JS 中的事件循環、宏/微任務、Primise對象、定時器函數,以及其在工作中的應用和注意事項

為什么會突然想到寫這么一個大雜燴的博文呢&#xff0c;必須要從筆者幾年前的一次面試說起 當時的我年輕氣盛&#xff0c;在簡歷上放了自己的博客地址&#xff0c;而面試官應該是翻了我的博客&#xff0c;好幾道面試題都是圍繞著我的博文來提問 其中一個問題&#xff0c;直接…

AWS與SAP擴大戰略合作:通過AI增強ERP解決方案

西雅圖和沃爾多夫——亞馬遜網絡服務&#xff08;AWS&#xff09;與SAP SE宣布擴大戰略合作&#xff0c;旨在革新現代云企業資源規劃&#xff08;ERP&#xff09;體驗&#xff0c;并幫助企業通過生成式人工智能&#xff08;AI&#xff09;提升功能和效率。 AWS和SAP共同努力&a…

【Linux】將U盤中的程序更新到開發板中 shell 腳本

1. 代碼 攪拌名稱&#xff1a; refresh.sh #!/bin/sh#from _fromDir$1#to _toDir$2#umount umount /dev/sda1#mount mount /dev/sda1 /media/udisk0#copy cp -r $_fromDir $_toDirif [ $? -eq 0 ] thenchmod 777 $_toDirif [ $? -eq 0 ]thensyncecho "success"el…

Python entry用法:深入剖析與實戰應用

Python entry用法&#xff1a;深入剖析與實戰應用 在Python編程的世界中&#xff0c;entry并非一個內置的關鍵字或方法&#xff0c;但它在某些上下文中&#xff0c;如Tkinter GUI編程中&#xff0c;是一個重要的組件。本文將圍繞entry組件的用法&#xff0c;從四個方面、五個方…

select多個客戶端連接,傳輸數據時只能順序傳輸產生原因

1. 場景描述 即A先連接,B后連接&#xff0c;只能先A后B依次輸入數據&#xff0c;服務端依次讀取數據 這是因為進行循環遍歷lfd之后的描述符時&#xff0c;沒有判斷文件描述符i是否在newset集合中 //cfd發生變化 for(int ilfd1;i<maxfd;i){printf("i num %d\t"…

Matplotlib | 繪制柱狀圖

簡介 安裝 Matplotlib 開始繪制 簡單柱狀圖 改變顏色 改變紋理 改變邊框樣式 改變透明度 改變柱子寬度 改變圖表標題 ?編輯 并列柱狀圖 橫向柱狀圖 堆疊柱狀圖 更多函數 簡介 柱狀圖&#xff08;Bar chart&#xff09;&#xff0c;是一種以長方形的長度為變量的…

黑白群暉激活AME(Advanced Media Extention)

黑群暉激活Advanced Media Extensions&#xff08;AME&#xff09;解碼HEVC視頻和HEIC圖片 聲明&#xff1a;此教程在正版群暉系統中進行的操作&#xff0c;雖然也能用于非正版系統中AME的安裝&#xff0c;但是在非正版系統中安裝AME屬于破解行為&#xff0c;對系統造成的影響和…

2006NOIP普及組真題 1. 明明的隨機數

線上OJ&#xff1a; 【06NOIP普及組】明明的隨機數 核心思想&#xff1a; 本題的要求是 1、去重 2、排序 以上兩個要求正好可以使用 set 來實現。set 自帶了去重和排序的功能。輸出時使用 iterator 即可。 解法一、set #include <bits/stdc.h> using namespace std;in…

這里一定有你不知道的VS調試技巧

目錄 使用環境&#xff1a;Visual Studio 2022,如無特殊說明&#xff0c;都是在Debug、x64環境下編譯 一.什么是BUG 二.調試快捷鍵 F9&#xff1a;創建斷電或取消斷點 條件斷點&#xff1a;滿足這個條件才觸發 F5&#xff1a;啟動調試&#xff0c;經常?來直接跳到下?個斷…