摘要:三文讀透指針上篇本文將繼續介紹有關函數指針的相關內容。在大型工程里,函數指針應用還是挺普遍的。首先看閱讀下面兩段有趣的代碼出自語言陷阱與缺陷看看他們是什么意思代碼代碼函數指針數組函數指針數組,即存放函數指針的數組。
在【上篇】中,小邊已經介紹過了字符指針,指針數組,數組指針及數組和指針傳參,忘記的小伙伴可以點這里哦。
三文讀透指針【上篇】
本文將繼續介紹有關函數指針的相關內容。
正文開始@邊通書
函數指針,顧名思義是存放函數地址的指針。
在大型工程里,函數指針應用還是挺普遍的。
首先看:
閱讀下面兩段有趣的代碼(出自《C語言陷阱與缺陷》)
看看他們是什么意思?
//代碼1 (*(void (*)())0)();//代碼2void (*signal(int , void(*)(int)))(int);
函數指針數組,即存放函數指針的數組。
上代碼感受一下:
那如何應用呢?
現在我們來實現一個計算器功能:
函數指針數組的應用:
小注意:下篇文章將繼續對此段代碼進行改造(回調函數)。
再附上源代碼:
#include int Add(int x, int y){ return x + y;}int Sub(int x, int y){ return x - y;}int Mul(int x, int y){ return x*y;}int Div(int x, int y){ return x / y;}void menu(){ printf("**************************/n"); printf("***** 1.Add 2.Sub *****/n"); printf("***** 3.Mui 4.Div *****/n"); printf("***** 0.exit *****/n"); printf("**************************/n");}int main(){ int input = 0; do { menu(); printf("請選擇:>/n"); scanf("%d", &input); int x = 0; int y = 0; int ret = 0; int(*pfArr[5])(int, int) = { 0, Add, Sub, Mul, Div }; // 0 1 2 3 4 if (input == 0) { printf("退出計算器/n"); } else if (input >= 1 && input <= 4) { printf("請輸入兩個操作數:>/n"); scanf("%d %d", &x, &y); ret = pfArr[input](x, y); printf("%d/n", ret); } else { printf("輸入錯誤,請重新輸入/n"); } } while (input); return 0;}
未完待續@邊通書
三文讀透指針語法【下篇】,將介紹回調函數及,使用回調函數實現,用冒泡排序模擬實現qsort
敬請期待! 哈哈哈哈
同時,鄙人才疏學淺,如果你發現有錯誤或我理解不到位之處,或是建議,衷心希望大家能多多指教。最后,想得到就別等待趁現在去熱愛,小伙伴們一起加油呀!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119015.html
摘要:本文重點字符指針指針數組數組指針數組傳參和指針傳參引在指針的初階已接觸過指針的概念,并介紹了如下內容指針是個變量,用來存放地址,地址唯一標識一塊內存空間,所以地址也形象的被稱作指針。解析指針數組指針數組即,存放指針的數組。 ...
摘要:所以是數組指針,而是指針數組。因為對一個二維數組,可以不知道有多少行,但是必須知道一行多少元素。當二維數組數組名傳參,形參接收時,數組的行可以省略,列不能省略,如果省略了列,我們就無法知道當指針加減跳過幾個字節。 ...
摘要:本章節在此基礎上,對語言階段指針進行更深層次的研究。數組指針的類型由數組類型決定,先找出數組的類型去掉名就是類型。相當于數組指針所指向數組的數組名。數組指針指向整個數組,將其看作二維數組并解引用得到一行的首元素,從而遍歷訪問。 ...
摘要:釋放不完全導致內存泄漏。既然把柔性數組放在動態內存管理一章,可見二者有必然的聯系。包含柔性數組的結構用進行動態內存分配,且分配的內存應大于結構大小,以滿足柔性數組的預期。使用含柔性數組的結構體,需配合以等動態內存分配函數。 ...
摘要:在位機器上,指針變量的大小為個字節。指針類型的強制類型轉換對指針變量進行強制類型轉換的一般形式將保存的類型指針強制轉換為類型指針后賦值給,其中還是為,沒有改變。 前言 大家好,我是努力學習的少年,今天這篇文章是專門寫關于指針的知識點,因為指針內容比較多,所以我將指針的這篇文章我將它分為...
閱讀 3915·2021-11-16 11:44
閱讀 3115·2021-11-12 10:36
閱讀 3373·2021-10-08 10:04
閱讀 1257·2021-09-03 10:29
閱讀 390·2019-08-30 13:50
閱讀 2605·2019-08-29 17:14
閱讀 1734·2019-08-29 15:32
閱讀 1080·2019-08-29 11:27