在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

周立功教你學C語言編程與程序設計:這樣寫函數指針數組最好用

AGk5_ZLG_zhiyua ? 來源:未知 ? 作者:電子大兵 ? 2017-08-31 14:06 ? 次閱讀

第二章為程序設計技術,本文為2.1.4 函數指針數組。

>>>>2.1.4 函數指針數組

如果要實現一個袖珍式計算器,假設程序的其它部分已經讀入2個數op1和op2,以及一個操作符oper,可以使用下面的代碼對操作符進行測試,然后決定調用哪個函數。比如:

顯然,對于一個具有上百個操作符的計算器來說,這條switch語句將會之很長。且為了使用switch語句,則表示操作符的代碼必須是整數。如果它們是從0開始的連續(xù)整數,則可以使用轉移表實現相同的任務,而轉移表就是一個函數指針數組,該數組的每個元素是一個函數的地址。如果有以下聲明:

其中,PF是一個指向返回值為double的函數的指針類型,該函數有兩個double類型參數。假設需要聲明一個包含4個元素的數組變量oper_func,用于存儲4個函數的地址。即可使用PF定義一個存儲函數指針的數組:

其中,oper_func為指向函數的指針的數組,上述聲明與以下聲明:

雖然形式不一樣,但其意義完全相同。

如果給函數指針數組變量中的元素賦值,則與普通數組元素相同。比如:

在上述表達式中,除了等號右側是函數名之外,這是一個正常的數組元素,因此,同樣可以在定義中初始化指針數組變量的所有元素。創(chuàng)建一個轉移表,需要聲明并初始化一個函數指針數組,但一定要確保這些函數的原型出現在這個數組的聲明之前。比如:

該語句初始化了4個元素,因此不再需要執(zhí)行初始化的賦值語句。注意,初始化列表中各個函數名的正確順序取決于程序中用于表示每個操作符的整型代碼,這個示例中的ADD、SUB、MUL和DIV分別對應0、1、2、3.。其調用形式如下:

即oper從數組中選擇正確的函數指針,函數調用操作符執(zhí)行這個函數。當然,也可以去掉數組的大小,由初始化列表確定數組的大小。比如:

其中,大括號內的初始值個數確定了數組中元素的數目,因此函數指針數組的初始化列表與其它數組的初始化列表的作用一樣。

在公眾號后臺回復關鍵字【編程】,即可在線閱讀《面向AMetal框架與接口的編程(上)》和《程序設計與數據結構》兩本書。

《面向AMetal框架與接口的編程(上)》書籍還在印刷中,具體開售時間另行通知。《程序設計與數據結構》書籍的淘寶購買鏈接如下,可復制到瀏覽器打開:

https://s.click.taobao.com/d3WStbw

延伸閱讀

周立功:做好軟件模塊的分層設計必須掌握的回調函數

周立功:動態(tài)分布內存——free()函數與realloc()函數

周立功:動態(tài)分布內存——malloc()函數與calloc()函數

周立功:用數組,構造一個雙重指針

周立功:你知道數組也能保存指針嗎?

周立功:字符真正價值在于形成字符序列——字符串函數

周立功:字符真正價值在于形成字符序列——字符串的輸入輸出

周立功:字符真正價值在于形成字符序列——字符串的引用

周立功:字符能像整數一樣計算

周立功:如何將二維數組作為函數參數傳遞

周立功:算法的泛化問題,你應該知道

周立功:泛型編程——實現代碼復用

周立功:數組訪問的四大方法與慣用法

周立功:數組的規(guī)定,你知道嗎?

周立功:C語言數組與指針詳解

周立功:實現和使用易重用的抽象接口

周立功:設計良好的程序接口需注意的5個事項

周立功:程序設計的新思維和新方法

周立功:拆分條件語句讓代碼更易理解——綜合表達式與條件表達式?

周立功:拆分條件語句讓代碼更易理解——邏輯表達式

公眾號介紹

致遠電子官方微信公眾號,一個匯聚500名工程師的研發(fā)測試分享平臺,為您提供電子行業(yè)領先的產品技術與解決方案

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指針
    +關注

    關注

    1

    文章

    480

    瀏覽量

    70585
  • C語言編程
    +關注

    關注

    6

    文章

    90

    瀏覽量

    21131
  • 周立功
    +關注

    關注

    38

    文章

    130

    瀏覽量

    37690
  • 數組
    +關注

    關注

    1

    文章

    417

    瀏覽量

    25988
  • 函數指針
    +關注

    關注

    2

    文章

    56

    瀏覽量

    3823

原文標題:周立功:函數指針數組的使用方法

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    立功手把手教你嵌入式編程函數指針指針函數的應用

    作者經常聽嵌入式軟件開發(fā)者說,“我?guī)缀醪挥?b class='flag-5'>函數指針……”。言下之意,那些復雜的語法似乎毫無用處,而實際上很多人根本沒有認識到其無窮的威力……本文將進入程序設計與數據結構》函數
    的頭像 發(fā)表于 08-29 11:36 ?1.6w次閱讀

    立功教你程序設計技術:做好軟件模塊的分層設計,回調函數這樣

    立功教授數年之心血之作《程序設計與數據結構》以及《面向AMetal框架與接口的編程(上)》,電子版已無償性分享到電子工程師與高校群體,在公眾號回復【
    的頭像 發(fā)表于 08-30 10:24 ?9607次閱讀

    立功教你C語言編程教你數組是如何保存指針

    雖然數組指針數組存儲的都是數據,但還是有細微的差別。數組存儲的是相同類型的字符或數值,而指針數組
    的頭像 發(fā)表于 08-31 10:09 ?7014次閱讀
    <b class='flag-5'>周</b><b class='flag-5'>立功</b><b class='flag-5'>教你</b><b class='flag-5'>學</b><b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編程</b>:<b class='flag-5'>教你</b><b class='flag-5'>數組</b>是如何保存<b class='flag-5'>指針</b>的

    所有C語言數組指針的知識都在這里了!|立功手把手教你C語言編程

    數組作為函數的參數時,C語言函數的所有參數必須在函數內部聲明。但是,由于在
    的頭像 發(fā)表于 09-01 09:28 ?8254次閱讀

    立功教你程序設計結構體:內存對齊和基本數據類型

    我們知道,數組指針是相同類型有序數據的集合,但很多時候需要將不同類型的數據捆綁在一起作為一個整體來對待,使程序設計更方便。在C語言中,
    的頭像 發(fā)表于 09-01 13:47 ?8013次閱讀
    <b class='flag-5'>周</b><b class='flag-5'>立功</b><b class='flag-5'>教你</b><b class='flag-5'>學</b><b class='flag-5'>程序設計</b>結構體:內存對齊和基本數據類型

    立功手把手教你C語言編程:用數組,構造一個雙重指針

    第一章為程序設計基礎,本文為1.8.3 指針數組中的第二要點:字符串與指針指針、第三要點: 字符串與二維
    的頭像 發(fā)表于 09-04 14:15 ?6659次閱讀

    立功教你C語言編程:結構體,使程序設計更方便——內置函數指針和嵌套結構體

    我們知道,數組指針是相同類型有序數據的集合,但很多時候需要將不同類型的數據捆綁在一起作為一個整體來對待,使程序設計更方便。在C語言中,
    的頭像 發(fā)表于 09-06 09:27 ?9629次閱讀
    <b class='flag-5'>周</b><b class='flag-5'>立功</b><b class='flag-5'>教你</b><b class='flag-5'>學</b><b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編程</b>:結構體,使<b class='flag-5'>程序設計</b>更方便——內置<b class='flag-5'>函數</b><b class='flag-5'>指針</b>和嵌套結構體

    C語言數組名和指針

    指針C/C++語言的特色,而數組名與指針有太多的相似,甚至很多時候,
    發(fā)表于 08-27 17:48 ?738次閱讀

    新書創(chuàng)作談:立功教授數十年之心血力作《程序設計與數據結構》

    整理出《程序設計與數據結構》這本書,其內容如同培訓講師的教案,是立功和團隊的讀書筆記和程序設計實踐的心得。《程序設計與數據結構》重點闡述了
    發(fā)表于 05-15 18:04

    【完整資料】《程序設計與數據結構》立功數十年心血力作

    ,是立功和團隊的讀書筆記和程序設計實踐的心得。《程序設計與數據結構》重點闡述了三大方向內容。C語言
    發(fā)表于 05-16 16:43

    C語言程序設計介紹

    包括:C 語言概述,算法基礎,數據類型、運算符與表達式,順序 結構程序設計,選擇結構程序設計,循環(huán)結構程序設計
    發(fā)表于 02-17 15:49 ?0次下載

    C語言程序設計教程之二維數組如何應用二維數組的資料概述

    本文檔的主要內容詳細介紹的是C語言程序設計教程之二維數組如何應用二維數組的資料概述主要內容包括了:1 了解二維
    發(fā)表于 10-26 16:48 ?3次下載

    C語言程序設計教程之指針使用的課件免費下載

    本文檔的主要內容詳細介紹的是C語言程序設計教程之指針使用的課件免費下載指針使用主要內容 地址與指針
    發(fā)表于 11-16 17:47 ?15次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>程序設計</b>教程之<b class='flag-5'>指針</b>使用的課件免費下載

    理解函數指針函數指針數組函數指針數組指針

    理解函數指針函數指針數組函數指針
    的頭像 發(fā)表于 06-29 15:38 ?1.5w次閱讀
    理解<b class='flag-5'>函數</b><b class='flag-5'>指針</b>、<b class='flag-5'>函數</b><b class='flag-5'>指針</b><b class='flag-5'>數組</b>、<b class='flag-5'>函數</b><b class='flag-5'>指針</b><b class='flag-5'>數組</b>的<b class='flag-5'>指針</b>

    為什么C語言函數不能返回數組

    C語言函數可以返回指針、結構體,為什么不能返回數組? 下面一步一步來分析: 1 函數不能返回
    的頭像 發(fā)表于 03-29 11:18 ?2026次閱讀
    主站蜘蛛池模板: 色成人免费网站| 综合五月激情| 天堂网www天堂在线网| 午夜免费体验| 奇米奇米| 2019天天爱天天做| 91大神精品在线观看| 色视频一区二区三区| 中文字幕在线播放第一页| 一级毛片免费全部播放| 亭亭色| 全日本爽视频在线| 国模视频一区二区| 午夜视频福利| 国内黄色录像| 又粗又大又爽又色又过瘾视频| 被啪漫画羞羞漫画| 国产三级在线免费| 国产网站免费| 五月欧美激激激综合网色播| 男人天堂网2021| 狼色网| 一级特黄毛片| 视频在线一区二区| 最新色视频| 深夜一级毛片| 精品三级在线观看| 香蕉视频国产在线观看| 国产精品久久女同磨豆腐| 性猛交╳xxx乱大交| 五月天亚洲| 激情五月开心网| 午夜视频在线观看国产www| 成人精品第一区二区三区| 男男浪荡性受高hnp肉| 色窝网| 三级在线免费| 国产怡红院| 免免费看片| 欧美一区二区三区视频在线观看| 五月婷六月丁香|