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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

什么是隊列?不受類型限制的隊列如何實現

冬至配餃子 ? 來源:最后一個bug ? 作者:bug菌 ? 2022-08-12 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、初識size_t

這里可能大部分都不太知道有size_t這樣的一個數據類型,可以說該類型是英文size type的一個縮寫,它是一種記錄數據大小的數據類型(可以認為是一種整形數據)。其實我們經常使用的sizeof()的返回值數據類型就是size_t,只是我們常常用一個整形比如int來保存返回值。

值得我們注意得是:

sizeof類型是一個與操作系統相關得數據類型,它主要是為了提高C語言的可移植性和可讀性而加入的,可以說它并不是一種基本的數據類型,而且在頭文件中用typedef來重命名的數據類型。其實在我們平時很多地方都用到了size_t,比如:

poYBAGL1qh6AYh20AAAj7JvUFGA004.png

我們使用的時候幾乎都用整形比如int變量來使用,并沒有使用到size_t類型,所以說盡管我們的int依賴于C編譯器,有些情況size_t并不是固定的,如果我們用基本類型替換可能帶來數據類型過小或者過大的問題,過小可能會導致數據溢出問題,過大可能導致運行速度降低!
size_t的使用:只要是用到sizeof等返回值,或者傳入值的變量都定義為size_t類型!

2、什么是隊列?

隊列—

一種特殊的操作受限制得線性表,用戶僅允許在線性表的頭部獲取數據,在尾部插入數據,所以大家也叫FIFO(先進先出)線性表。

形象一點的表達

:類似于一隊人排隊鉆進一根只能進入一個人的管子,先進去的人先出來,后面的人只能在從同一個口子進入!

隊列的類型:

順序隊列和循環隊列。順序隊列,出隊列指針必須>或者=入隊列指針,否則容易出現假溢出現象;而循環隊列只要入隊列指針與出隊列指針不再次重合就不回溢出!

3、不受類型限制的隊列實現

首先我們先貼上剛剛寫好的Queue.h和Queue.c文件

poYBAGL1qnqAMV7gAAFKVcP9Sws614.png

pYYBAGL1qoGAYmiJAAFDHSF_4Hc866.png

poYBAGL1qoaACHUeAAESAE9aqkQ694.png

pYYBAGL1qo2AYiJoAAC53sBnHt8401.png

poYBAGL1qrqAIybVAADqgoePl0s061.pngpoYBAGL1qsGAbHMXAADP9acB7uY706.png

解析代碼:

1)節點數據結構中采用void類型的指針,能夠指向任意數據類型來擴展我們的隊列。

2)隊列數組順序隊列,我們可以通過修改擴展變成循環隊列,便于我們使用。

3)具體的使用可以參考上面的例子進行開發。

4、隊列的應用

1)隊列可以作為一種數據緩沖,當我們的數據無法實時進行發送的時候,可以進行適當的隊列緩沖,集中到一定的數據,然后進行打包發送。

2)隊列可以實現任務之間的一個信息交互,可以解決一些多線程問題,實現一種任務之間的異步處理。

3)由于是隊列的一個先進先出特點,我們也可以利用隊列來嚴格的控制數據的順序。



審核編輯:劉清

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

    關注

    33

    文章

    9019

    瀏覽量

    153835
  • C語言
    +關注

    關注

    180

    文章

    7633

    瀏覽量

    141988
  • 多線程
    +關注

    關注

    0

    文章

    279

    瀏覽量

    20470
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RabbitMQ消息隊列解決方案

    在現代分布式系統架構中,消息隊列作為核心組件,承擔著系統解耦、異步處理、流量削峰等重要職責。RabbitMQ作為一款成熟的消息隊列中間件,以其高可用性、高可靠性和豐富的特性,成為眾多企業的首選方案。本文將從運維工程師的角度,詳細闡述RabbitMQ從單機部署到集群搭建的完
    的頭像 發表于 07-08 15:55 ?208次閱讀

    從 app_gatt_callback調用這個隊列推送函數時,程序出現了硬故障怎么解決?

    我正在嘗試在 wiced BLE 堆棧中使用基于演員的設計模式。 因此,所有任務都使用消息隊列相互通信。 消息隊列將保存塊大小為 64 的內存池指針的地址。 我維護著一個由這些池地址指針組成的隊列
    發表于 07-04 06:03

    精通 MQTT:消息隊列遙測傳輸指南!

    引言MQTT(消息隊列遙測傳輸)是一種輕量級消息協議,專為低帶寬、高延遲和不可靠的網絡環境設計。它廣泛應用于物聯網(IoT)應用、消息系統以及實時數據通信領域。本指南深入探討了MQTT的工作原理
    的頭像 發表于 06-16 16:56 ?510次閱讀
    精通 MQTT:消息<b class='flag-5'>隊列</b>遙測傳輸指南!

    RDMA簡介6之RoCEV2連接管理

    ? RoCE v2協議的隊列在創建時就已確定連接類型,共有兩種工作模式:主要分為兩種工作模式:有連接模式和無連接模式。在有連接模式下,支持可靠連接(RC)和不可靠連接(UC)兩種傳輸類型;而無連接
    發表于 06-13 09:50

    向FreeRTOS的任務中發送事件隊列是有什么限制嗎?

    到了TMC的芯片,但是在到位上報的信息中少了卡死電機的上報。所以有的電機的到位中斷并沒有成功寫入任務。 一開始是每個電機都開啟了一個定時器查詢,后續改成一個定時器查六個電機并將定時器的周期加到50ms,就很少會卡死。 所以向FreeRTOS的任務中發送事件隊列是有什么限制
    發表于 06-11 07:57

    RDMA簡介5之RoCE V2隊列分析

    工作隊列元素(WQE),該元素包括數據發送緩沖區的起始地址、數據長度、操作類型等相關信息,用于后續的傳輸操作。在該WQE被網卡操作結束后,網卡將生成一個CQE并放入與工作隊列(SQ)對應的完成
    發表于 06-05 17:28

    NVME控制器之隊列管理模塊

    隊列管理模塊是整個NVMe Host控制器的核心模塊,該模塊實現了提交隊列與完成隊列的管理,多隊列請求的仲裁判決等功能。
    發表于 05-03 20:19

    NVME控制器之隊列管理模塊

    隊列管理模塊是整個NVMe Host控制器的核心模塊,該模塊實現了提交隊列與完成隊列的管理,多隊列請求的仲裁判決等功能。
    的頭像 發表于 05-03 15:32 ?204次閱讀
    NVME控制器之<b class='flag-5'>隊列</b>管理模塊

    不受環境限制,MEMS尋北儀助力各領域實現高精度定向

    尋北儀可以通過地球自轉確定真北方向,可以為各種活動提供方位基準。它不受天氣、地點和磁場環境條件的限制,具有高精度、高可靠性和易于維護的特點?。
    的頭像 發表于 12-18 14:41 ?831次閱讀
    <b class='flag-5'>不受</b>環境<b class='flag-5'>限制</b>,MEMS尋北儀助力各領域<b class='flag-5'>實現</b>高精度定向

    JavaWeb消息隊列使用指南

    在現代的JavaWeb應用中,消息隊列(Message Queue)是一種常見的技術,用于異步處理任務、解耦系統組件、提高系統性能和可靠性。 1. 消息隊列的基本概念 消息隊列是一種應用程序對應
    的頭像 發表于 11-25 09:27 ?553次閱讀

    探索字節隊列的魔法:多類型支持、函數重載與線程安全

    探索字節隊列的魔法:多類型支持、函數重載與線程安全代碼難度指數:文章學習重點:參數宏的使用技巧一、引言在嵌入式系統和實時應用中,數據的傳輸和處理是至關重要的。字節隊列(ByteQueue)是一種重要
    的頭像 發表于 11-15 01:08 ?1263次閱讀
    探索字節<b class='flag-5'>隊列</b>的魔法:多<b class='flag-5'>類型</b>支持、函數重載與線程安全

    為什么同一個隊列引用的全局變量,運行在兩個子vi中發現隊列數據丟失了

    我創建了一個隊列,然后將隊列引用做了個全局變量,運行在兩個子vi中,一個是只入隊列,另一個是只出隊列。但我發現,一個字vi數據入隊列成功,檢
    發表于 11-14 11:47

    eBPF技術實踐之virtio-net網卡隊列可觀測

    時,這一路徑難以進行觀測。一些復雜的網絡抖動問題很可能是由于網卡隊列不正常工作引起的。為了解決這類問題,我們基于eBPF技術擴展了網卡隊列的可觀測能力,使得virtio網卡前后端的定界問題不再困擾。 virtio-net 前后端驅動簡介 virtio-net (后面稱為
    的頭像 發表于 11-14 11:18 ?719次閱讀
    eBPF技術實踐之virtio-net網卡<b class='flag-5'>隊列</b>可觀測

    tlv320aic3016配置好以后然后打開中斷允許,沒有錄音數據的輸入,到隊列fifo的數是0嗎?

    配置好以后然后打開中斷允許如果沒有錄音數據的輸入,那么到隊列fifo的數是0嗎,level的值會變化嗎?
    發表于 10-28 07:11

    嵌入式環形隊列與消息隊列實現原理

    嵌入式環形隊列,也稱為環形緩沖區或循環隊列,是一種先進先出(FIFO)的數據結構,用于在固定大小的存儲區域中高效地存儲和訪問數據。其主要特點包括固定大小的數組和兩個指針(頭指針和尾指針),分別指向隊列的起始位置和結束位置。
    的頭像 發表于 09-02 15:29 ?1294次閱讀
    主站蜘蛛池模板: 含羞草免费完整视频在线观看 | 色一欲一性一乱一区二区三区 | adc影院欢迎您大驾光临入口 | 神马电影我不卡4k手机在线观看 | 国产麻豆精品人妻无码A片 国产麻豆精品久久一二三 国产麻豆精品传媒AV国产在线 | 日韩精品一卡二卡三卡四卡2021 | 晚夜免费禁用十大亏亏 | 久草国产在线播放 | 18美女腿打开无遮软件 | 中文字幕99香蕉在线 | 在线播放午夜理论片 | 久久国产露脸老熟女熟69 | 69日本人xxxx16—18 | 羞羞答答的免费视频在线观看 | 成人毛片18岁女人毛片免费看 | 出差无套内射小秘书 | 久久精品热只有精品 | 久久高清一级毛片 | 99热在线精品免费全部my | 亚洲合集综合久久性色 | 亚洲精品一线二线三线无人区 | a4you销魂gogo人体 | 久久中文字幕综合不卡一二区 | 国产精品嫩草影院在线观看免费 | 4480YY旧里番在线播放 | 美女扒开腿让男人桶个爽 | 国产成人aaa在线视频免费观看 | 稚嫩挤奶h调教h | 国产精品亚洲欧美一区麻豆 | 狼群影院视频在线观看WWW | 插曲的痛30分钟视频最新章节 | 98久久无码一区人妻A片蜜 | 久久中文字幕综合不卡一二区 | 国产成人精品免费视频软件 | 内射爽无广熟女亚洲 | 日韩欧美中文字幕在线二视频 | 久久久97人妻无码精品蜜桃 | 欧美最猛性xxxxx亚洲精品 | www免费看.男人的天堂 | 久久久GOGO无码啪啪艺术 | 国产成人 免费观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品