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

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

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

3天內不再提示

多分支選擇結構程序設計的思想與實現方法

AGk5_ZLG_zhiyua ? 來源:未知 ? 作者:佚名 ? 2017-09-14 14:14 ? 次閱讀

周立功教授數年之心血之作《程序設計與數據結構》以及《面向AMetal框架與接口編程(上)》。書本內容公開后,在電子行業掀起一片學習熱潮。經周立功教授授權,本公眾號特對《程序設計與數據結構》一書內容進行連載,愿共勉之。

第二章為程序設計技術,本文為2.2.5 結構體數組。

>>>2.2.5 結構體數組

下面將以控制臺菜單選項為例,介紹多分支選擇結構程序設計的思想與實現方法。一般來說,菜單欄至少包括新建文件、打開文件、保存文件和退出4項基本功能。比如:

如果使用函數指針,這4個函數的調用形式如下:

而新建文件、打開文件、保存文件和退出都可以作為字符串"新建文件"、"打開文件"、"保存文件"和"退出"存儲在char數組中。比如:

基于此,可以先聲明一個結構體類型CmdEntry,其聲明如下:

接著定義一個結構體數組作為函數表,分別用于存儲菜單函數的入口地址和菜單信息。其聲明如下:

在這里,將cmdArray聲明為一個內含10個元素的數組,數組的每個元素都是一個CmdEntry類型的數組,因此cmdArray[0]是第一個CmdEntry類型的結構體變量,cmdArray[1]是第2個CmdEntry類型的結構體變量,以此類推。cmyArray是數組名,該數組中的每個元素都是CmdEntry類型的結構體變量。

為了標識結構體數組中的成員,可以采用訪問單獨結構體的規則:在結構體名后面加一個點運算符,再在點運算符后面加上成員名。比如:

注意,數組下標緊跟在cmyArray后面,不是成員名后面。比如:

使用cmdArray[2].cHelp的原因是:cmdArray[2]是結構體變量名,正如cmdArray[1]是一個結構體變量名。使用cmdArray[3].cHelp的原因是cmdArray[3]是結構體變量名,如同cmdArray[0]是另一個變量名。由于數組變量名代表數組首元素的地址,因此下面兩個語句是等價的:

那么*pCmdEntry=cmdArray[0],因為&和*是一對逆運算符,所以可以做以下替換:

由于.運算符比*運算符的優先級高,因此必須使用圓括號。順帶提一下,下面的表達式代表什么?

這是cmdArray數組第1個結構體變量(cmdArray[0]部分)中的第2個字符(cHelp[1]部分),這個字符為“建”。這個示例指出,點運算符右側的下標作用于各個成員,點運算符左側的下標作用于結構體數組。最后總結一下:

根據上面的定義,即可用以下方式獲得相應函數的入口地址。比如:

即pfuncmd函數指針指向CreateFile()函數,其調用形式如下:

由此可見,采用回調函數動態綁定的方式,程序的可擴展性得到了很大的提升。只需在“<標注>1”處添加自定義的函數,無需多處修改代碼,不僅可以很好地解決程序的可擴展性問題,而且還大大地降低程序的出錯幾率,詳見程序清單2.26。

程序清單2.26 控制臺菜單選項程序

請用bubbleSort()算法完成這個練習,將employeeArray結構體數組分別按下列要求排序并輸出:(1)按id從小到大排序;(2)按weight、age、height從小到大排序,相同時按id從小到大排序;(3)bloodType按A、B、O、AB順序排序,相同時按id從小到大排序。

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

原文標題:周立功:結構體數組的應用

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

收藏 人收藏

    評論

    相關推薦

    選擇結構程序設計

    選擇結構程序設計要設計選擇結構程序,要考慮兩個方面的問題:一是在C語言中如何來表示條件,二是在C
    發表于 03-10 15:06

    結構化匯編語言的監控程序設計思想

    微型計算機控制技術_第五章第5章 常用應用程序設計 本章以51單片機為基礎,主要介紹結構化匯編語言的監控程序設計思想和實時測控系統中最常用的數字濾波技術、標度變換、插值算法以及報警
    發表于 09-10 06:50

    選擇結構程序設計

    實驗  選擇結構程序設計 一、實驗目的(1)掌握邏輯表達式的正確書寫形式。(2)學會單分支和雙分支
    發表于 09-23 19:27 ?2110次閱讀

    匯編語言學習課件_程序基本結構及其程序設計

    第五章 程序基本結構及其程序設計 5.1 順序結構及簡單程序設計 5.2 分支
    發表于 12-31 10:41 ?0次下載

    關于分支及循環結構程序設計實驗資料.ppt下載

    關于分支及循環結構程序設計實驗資料
    發表于 04-17 17:53 ?2次下載

    C語言教程之選擇結構程序設計資料概述和設計實例免費下載

    本文檔的主要內容詳細介紹的是C語言教程之選擇結構程序設計資料概述和設計實例免費下載包括了:1.if條件分支結構2.switch-case開關
    發表于 09-19 17:21 ?8次下載
    C語言教程之<b class='flag-5'>選擇</b><b class='flag-5'>結構</b><b class='flag-5'>程序設計</b>資料概述和設計實例免費下載

    C++語言程序設計時如何控制語句?

    本文檔的主要內容詳細介紹的是C++語言程序設計時如何控制語句?內容包括了1 C++語句概述2 if語句實現選擇結構3 switch語句實現
    發表于 09-20 14:51 ?2次下載
    C++語言<b class='flag-5'>程序設計</b>時如何控制語句?

    Visual Basic教程之順序,選擇,循環結構程序設計資料免費下載

    本文檔的主要內容詳細介紹的是Visual Basic的控制結構包括了:順序結構程序設計選擇結構程序設計
    發表于 10-12 16:44 ?3次下載
    Visual Basic教程之順序,<b class='flag-5'>選擇</b>,循環<b class='flag-5'>結構</b>的<b class='flag-5'>程序設計</b>資料免費下載

    C語言程序設計實用教程之如何選擇結構程序設計

    本文檔的主要內容詳細介紹的是C語言程序設計實用教程之如何選擇結構程序設計:1 關系運算符和關系表達式 2 邏輯運算符邏輯表達式 3 if語句 4 switch語句 5
    發表于 10-31 18:04 ?6次下載
    C語言<b class='flag-5'>程序設計</b>實用教程之如何<b class='flag-5'>選擇</b><b class='flag-5'>結構</b><b class='flag-5'>程序設計</b>

    C語言程序設計教程之分支結構程序設計的課件免費下載

    本文檔的主要內容詳細介紹的是C語言程序設計教程之分支結構程序設計的課件免費下載。
    發表于 12-10 17:16 ?6次下載
    C語言<b class='flag-5'>程序設計</b>教程之<b class='flag-5'>分支</b><b class='flag-5'>結構</b><b class='flag-5'>程序設計</b>的課件免費下載

    C語言程序設計教程之選擇結構程序設計的資料說明

    本文檔的主要內容詳細介紹的是C語言程序設計教程之選擇結構程序設計的資料說明。
    發表于 02-21 14:26 ?4次下載
    C語言<b class='flag-5'>程序設計</b>教程之<b class='flag-5'>選擇</b><b class='flag-5'>結構</b><b class='flag-5'>程序設計</b>的資料說明

    C++程序設計教程之程序設計初步資料說明

    ,6. 關系運算和邏輯運算,7. 選擇結構和IF語句,8. 條件運算符和條件表達式,9. 多分支選擇結構和switch語句,10. 編寫
    發表于 03-14 14:48 ?7次下載
    C++<b class='flag-5'>程序設計</b>教程之<b class='flag-5'>程序設計</b>初步資料說明

    C語言的switch case多分支選擇語句的詳細資料說明

    1、switch-case開關語句是一種多分支選擇語句,用來實現多方向條件分支。雖然采用if-else條件判斷語句也可以實現多方向條件
    發表于 07-12 17:39 ?1次下載
    C語言的switch case<b class='flag-5'>多分支</b><b class='flag-5'>選擇</b>語句的詳細資料說明

    C語言程序設計第四講結構程序設計選擇

    C語言程序設計第四講結構程序設計選擇
    發表于 12-22 10:34 ?0次下載

    C程序設計基礎-分支結構

    分支結構簡單說就是條件,利用人為或者程序選擇運行某一段程序,下面采用一個例子來描述這種結構
    的頭像 發表于 03-02 10:06 ?802次閱讀
    C<b class='flag-5'>程序設計</b>基礎-<b class='flag-5'>分支</b><b class='flag-5'>結構</b>
    主站蜘蛛池模板: 午夜影院免费视频| 男生脱美女内裤内衣动态图| 天天做天天爽爽快快| 天天摸天天躁天天添天天爽 | 被暗卫肉高h| 亚洲第二色| 特级全黄一级毛片视频| 亚洲欧洲精品成人久久曰影片| 特毛片| 日本精品高清一区二区2021| 久久本道综合色狠狠五月| 国产va免费精品高清在线观看| 亚洲国产午夜看片| 九月色婷婷| 亚洲一区二区中文| 伊人精品久久久大香线蕉99| 天堂网www最新版在线资源| 日本簧片在线观看| 国模大胆一区二区三区| 午夜视频在线播放| 成人国产一区二区三区| 日本不卡视频在线视频观看| 亚洲аv电影天堂网| 浓厚な接吻と肉体の交在线观看| 成人在线色视频| 久久久免费| 97玖玖| 国产精品成人一区二区三区| 亚洲欧美视频一区二区| 亚洲bt天堂| 可以直接看的黄址| 亚洲情a成黄在线观看| 97射射| 亚洲国产成人精品久久| 免费一日本一级裸片在线观看| 女人张开腿 让男人桶视频| 福利色播| 超级碰碰青草免费视频92| 禁网站在线观看免费视频| 日韩免费观看视频| 99视频在线永久免费观看|