色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

嵌入式中C語言結構體基本實現

嵌入式開發星球 ? 來源:嵌入式開發愛好者 ? 作者:嵌入式開發愛好者 ? 2024-05-11 08:49 ? 次閱讀

C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。

wKgZomY_FOKAdlRXAADOabNodfI522.jpg

結構體的定義

要想定義結構,必須用到struct關鍵字,struct的語句格式:

wKgaomY_FOiALrYrAAAPXyHjpxk889.jpg

在struct 中聲明了一個含有若干新成員的數據類型。

tag是結構體標簽

member-list是標準的變量定義,比如 int i; 或者 float f,或者其他有效的變量定義。

variable-list結構變量,定義在結構的末尾,最后一個分號之前,您可以指定一個或多個結構變量。下面是聲明 Book 結構的方式:

wKgZomY_FOiAfPaqAAAT6caiYp8080.jpg

在一般情況下,tag、member-list、variable-list這 3 部分至少要出現 2 個。以下為實例:

wKgaomY_FOmAekIyAACIvyeggCs534.jpg

在上面的聲明中,第一個和第二聲明被編譯器當作兩個完全不同的類型,即使他們的成員列表是一樣的,如果令 t3=&s1,則是非法的。

結構體的成員可以包含其他結構體,也可以包含指向自己結構體類型的指針,而通常這種指針的應用是為了實現一些更高級的數據結構如鏈表和樹等。

wKgZomY_FOmAYH6yAAAtJVnHt0Y154.jpg

如果兩個結構體互相包含,則需要對其中一個結構體進行不完整聲明,如下所示:

wKgZomY_FOyAUffYAAA5aiH_fMg223.jpg

結構體變量的初始化

和其它類型變量一樣,對結構體變量可以在定義時指定初始值。

wKgaomY_FOyAalcjAAA_n5-kiY0451.jpg

執行輸出結果為:

title : C 語言
author: RUNOOB
subject: 編程語言
book_id: 123456

訪問結構成員

為了訪問結構的成員,我們使用成員訪問運算符(.)。成員訪問運算符是結構變量名稱和我們要訪問的結構成員之間的一個句號。您可以使用struct關鍵字來定義結構類型的變量。下面的實例演示了結構的用法:

wKgZomY_FOyAGrojAAAcjAAmW94049.jpgwKgaomY_FO2AFMbvAAC6WbZNRz8457.jpg

當上面的代碼被編譯和執行時,它會產生下列結果:

wKgZomY_FO2AHO68AAAu7Tm_Vbg149.jpg

結構作為函數參數

您可以把結構作為函數參數,傳參方式與其他類型的變量或指針類似。您可以使用上面實例中的方式來訪問結構變量:

wKgaomY_FO2AUiGyAAAdG2Bd2d8249.jpgwKgaomY_FPOAH43wAACzal763FE391.jpg

當上面的代碼被編譯和執行時,它會產生下列結果:

wKgZomY_FPSAZGtKAAAtbFQ5RBg055.jpg

指向結構的指針

您可以定義指向結構的指針,方式與定義指向其他類型變量的指針相似,如下所示:

struct Books *struct_pointer;

現在,您可以在上述定義的指針變量中存儲結構變量的地址。為了查找結構變量的地址,請把 & 運算符放在結構名稱的前面,如下所示:

struct_pointer = &Book1;

為了使用指向該結構的指針訪問結構的成員,您必須使用 -> 運算符,如下所示:

struct_pointer->title;

讓我們使用結構指針來重寫上面的實例,這將有助于您理解結構指針的概念:

wKgaomY_FPSABoc6AAAejj4DcbA748.jpgwKgaomY_FPSAXiPGAAC-Cvk_3ao770.jpg

當上面的代碼被編譯和執行時,它會產生下列結果:

wKgZomY_FPWAA3ApAAAsr1-IM7c326.jpg

審核編輯 黃宇

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

    關注

    5082

    文章

    19104

    瀏覽量

    304793
  • 存儲
    +關注

    關注

    13

    文章

    4296

    瀏覽量

    85798
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136683
收藏 人收藏

    評論

    相關推薦

    C語言結構對齊介紹

    大家好,我是嵌入式老林,從事嵌入式軟件開發多年,今天分享的內容是C語言結構對齊介紹,希望能對你
    發表于 07-11 11:50 ?2504次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>結構</b><b class='flag-5'>體</b>對齊介紹

    嵌入式C語言程序設計基礎大匯總

      學習嵌入式的基礎語言C語言,因此先掌握C語言對于后續
    發表于 11-09 07:13

    嵌入式c語言編程(由淺入深)

    本內容詳細介紹了嵌入式c語言編程的各項知識,包括嵌入式c語言編程,
    發表于 11-02 14:37 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>c</b><b class='flag-5'>語言</b>編程(由淺入深)

    嵌入式C語言結構設計_實驗二

    主要介紹嵌入式C語言結構設計,從基礎講起,非常合適入門
    發表于 02-22 15:45 ?2次下載

    嵌入式C_C++語言精華

    介紹了在嵌入式開發的過程c語言C++語言的施用技巧。
    發表于 03-17 09:54 ?2次下載

    嵌入式外中斷c語言代碼

    嵌入式外中斷c語言代碼(arm嵌入式開發實例)-嵌入式外中斷c
    發表于 07-30 11:29 ?4次下載
    <b class='flag-5'>嵌入式</b>外中斷<b class='flag-5'>c</b><b class='flag-5'>語言</b>代碼

    嵌入式C語言-文件操用

    嵌入式C語言-文件操用(嵌入式開發需要什么證書)-嵌入式C
    發表于 07-30 11:56 ?15次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>-文件操用

    嵌入式底層開發為什么選擇C語言

    嵌入式底層開發為什么選擇C語言嵌入式系統的編寫語言主要是C
    發表于 10-20 13:35 ?2次下載
    <b class='flag-5'>嵌入式</b>底層開發為什么選擇<b class='flag-5'>C</b><b class='flag-5'>語言</b>

    標準c語言嵌入式,嵌入式C語言C語言的區別

    嵌入式C語言C語言的區別:最常用的系統編程語言C
    發表于 10-20 14:06 ?6次下載
    標準<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'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>C</b><b class='flag-5'>語言</b>的區別

    C語言嵌入式培訓 嵌入式C語言程序設計基礎

      學習嵌入式的基礎語言C語言,因此先掌握C語言對于后續
    發表于 11-03 21:06 ?32次下載
    <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'>C</b><b class='flag-5'>語言</b>程序設計基礎

    嵌入式C語言知識總結

    1 嵌入式C語言總結從語法上來說C語言并不復雜, 但編寫優質可靠的嵌入式
    發表于 12-20 19:44 ?12次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>知識總結

    嵌入式C語言結構封裝函數詳解

    嵌入式系統結構封裝函數可以用于對于嵌入式硬件資源進行抽象和封裝,從而提高軟件的可維護性和可移植性。
    的頭像 發表于 04-14 11:50 ?1507次閱讀

    嵌入式C語言結構封裝函數說明

    嵌入式系統結構封裝函數可以用于對于嵌入式硬件資源進行抽象和封裝,從而提高軟件的可維護性和可移植性。
    發表于 05-20 15:00 ?1078次閱讀

    嵌入式C語言結構特點

    ,不論是基于寄存器開發還是基于庫開發,深入理解和掌握嵌入式C語言的函數、指針、結構是學習STM32的關鍵。
    的頭像 發表于 11-24 16:16 ?671次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>結構</b>特點

    嵌入式系統C語言結構的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構C語言編程中允許您存儲不同數據類型的數據。
    發表于 03-12 14:29 ?494次閱讀
    <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>與應用
    主站蜘蛛池模板: 超碰97人在线视频| 午夜快车神马影视| 免费观看的毛片| 狠狠射首页| 黄片a级毛片| 国产精品嫩草久久久久| 干了快生了的孕妇| 成人免费视频无遮挡在线看| AV福利无码亚洲网站麻豆| 99re这里只有精品国产| 97在线视频网站| av天堂网站avtt2017| av女优快播| zooskoo1videos人与狗| 超碰97人人做人人爱少妇| 成人免费无毒在线观看网站| 东日韩二三区| 国产成人免费a在线资源| 国产精品VIDEOSSEX久久发布| 国产精品久久久久久久久久免费| 国产 日韩 欧美 综合 激情| 国产成人aaa在线视频免费观看| 闺蜜扒开我尿口使劲揉| 国产日韩久久久精品影院首页 | 日本特黄网站| 日本综艺大尺度无删减版在线| 日韩视频在线观看| 午夜福利08550| 亚洲综合国产在不卡在线| 伊人久综合| chinese情侣自拍啪hd| 白人大战34厘米黑人BD| 国产精品无码人妻在线| 精品国产精品人妻久久无码五月天 | 婷婷激情综合色五月久久竹菊影视| 色宅男午夜电影网站| 亚洲精品成人a在线观看| 中文字幕福利视频在线一区| 99热这里只有的精品| 国产成人高清精品免费5388密| 国内精品免费久久影院|