零基礎C語言學習日志22(自定義類型:聯合和枚舉)

目錄

聯合體

聯合體類型的聲明

聯合體的特點

相同成員聯合體和結構體的對比

聯合體大小的計算

例子

枚舉類型

枚舉類型的聲明

枚舉類型的優點

枚舉類型的使用


聯合體

聯合體類型的聲明

像結構體一樣,聯合體也是由一個或者多個成員構成,這些成員可以不同的類型。
但是編譯器只為最大的成員分配足夠的內存空間。聯合體的特點是所有成員共用同一塊內存空間。所以聯合體也叫:共用體
給聯合體其中一個成員賦值,其他成員的值也跟著變化。

聯合體的特點

聯合的成員是共用同一塊內存空間的,這樣一個聯合變量的大小,至少是最大成員的大小(因為聯合至少得有能力保存最大的那個成員)。

相同成員聯合體和結構體的對比

聯合體大小的計算

1. 聯合的大小至少是最大成員的大小。
2. 當最大成員大小不是最大對齊數的整數倍的時候,就要對齊到最大對齊數的整數倍

例子

判斷大小端

?節省空間的應用

枚舉類型

枚舉類型的聲明

枚舉 --> 一一列舉

默認值為從0開始++。?

枚舉類型的優點

我們可以使用 #define 定義常量,為什么非要使用枚舉?
枚舉的優點:
1. 增加代碼的可讀性和可維護性。
2. 和#define定義的標識符比較枚舉有類型檢查,更加嚴謹。
3. 便于調試,預處理階段會刪除 #define 定義的符號。
4. 使用方便,一次可以定義多個常量。
5. 枚舉常量是遵循作用域規則的,枚舉聲明在函數內,只能在函數內使用。

枚舉類型的使用

那是否可以拿整數給枚舉變量賦值呢?在C語言中是可以的,但是在C++是不行的,C++的類型檢查比較嚴格。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72658.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72658.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72658.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

天津大學02-深度解讀DeepSeek:部署、使用、安全【文末附下載鏈接】

大模型風險與不當用例——價值觀錯位 大模型與人類價值觀、期望之間的不一致而導致的安全問題,包含:? 社會偏見(Social Bias)LLM在生成文本時強化對特定社會群體的刻板印象,例如將穆斯林與恐怖主義關聯,或…

[C語言日寄] 字符串操作函數的使用及其拓展

【作者主頁】siy2333 【專欄介紹】?c語言日寄?:這是一個專注于C語言刷題的專欄,精選題目,搭配詳細題解、拓展算法。從基礎語法到復雜算法,題目涉及的知識點全面覆蓋,助力你系統提升。無論你是初學者,還是…

Qt 進度條與多線程應用、基于 Qt 的文件復制工具開發

練習1:Qt 進度條與多線程應用 題目描述 開發一個基于 Qt 的應用程序,該應用程序包含一個水平進度條(QSlider),并且需要通過多線程來更新進度條的值。請根據以下要求完成代碼: 界面設計: 使用 QS…

Gartner:數據安全平臺DSP提升數據流轉及使用安全

2025 年 1 月 7 日,Gartner 發布“China Context:Market Guide for Data Security Platforms”(《數據安全平臺市場指南——中國篇》,以下簡稱指南),報告主要聚焦中國數據安全平臺(Data Securit…

道可云人工智能每日資訊|《奇遇三星堆》VR沉浸探索展(淮安站)開展

道可云元宇宙每日簡報(2025年3月5日)訊,今日元宇宙新鮮事有: 《奇遇三星堆》VR沉浸探索展(淮安站)開展 近日,《奇遇三星堆》VR沉浸探索展(淮安站)開展。該展將三星堆文…

Spring AI Alibaba + Ollama:國產大模型DeepSeek LLM的低成本AI應用開發認知

寫在前面 官方文檔很詳細,有開發需求可以直接看文檔https://java2ai.com/docs/1.0.0-M5.1/get-started/博文內容為一個開發Demo,以及API簡單認知理解不足小伙伴幫忙指正 😃,生活加油 我看遠山,遠山悲憫 持續分享技術干貨&#xf…

解決:Word 保存文檔失敗,重啟電腦后,Word 在試圖打開文件時遇到錯誤

殺千刀的微軟,設計的 Word 是個幾把,用 LaTex 寫完公式,然后保存,卡的飛起 我看文檔卡了很久,就關閉文檔,然后 TMD 腦抽了重啟電腦 重啟之后,文檔打不開了,顯示 殺千刀的&#xff…

掌握高效大模型任務流搭建術(二):鏈式流程如何賦能 AI 處理能力提升

前言: 在上一篇文章中,我們初步探索了 LangChain 的基礎鏈式操作——LLMChain。它巧妙地將大語言模型(LLM)與提示模板(Prompt Template)相結合,為模型交互邏輯的封裝提供了一種簡潔而高效的方式…

虛擬卡 WildCard (野卡) 保姆級開卡教程

本文首發于只抄博客,歡迎點擊原文鏈接了解更多內容。 前言 本篇教程為 WildCard 的介紹以及開卡教學,要了解不同平臺(Grok、Talkatone 等)的訂閱方式請移步《訂閱教程》分類 當我們想要充值國外平臺會員時,一般都需要使…

計算機數據庫三級刷題總結(博主89分已過,總結的內容分享)

計算機數據庫三級刷題總結(博主89分已過,總結的內容分享) 文章目錄 計算機數據庫三級刷題總結(博主89分已過,總結的內容分享)一、 數據庫設計階段二、事務相關三、數據庫設計順序四、數據庫三級模式與二層映…

記錄一些面試遇到的問題

重載和重寫的區別 重載是overload,覆蓋是override 重載屬于編譯時多態,覆蓋屬于運行時多態 運行時多態和編譯時多態 運行時多態指的是在運行的時候才知道要調用哪一個函數,編譯時多態是指在編譯的時候就知道調用哪一個函數。 運行時多態…

HBuilder X 使用 TortoiseSVN 設置快捷鍵方法

HBuilder X 使用 TortoiseSVN 設置快捷鍵方法 單文件:(上鎖,解鎖,提交,更新) 安裝好 TortoiseSVN ,或者 按圖操作: 1,工具欄中 【自定義快捷鍵】 2,點擊 默認的快捷鍵設置&…

JmeterHttp請求頭管理出現Unsupported Media Type問題解決

JmeterHttp請求頭管理出現Unsupported Media Type問題解決 大多數的app與pc端壓測的時候都會出現這種情況 當我們在jemter測試當中當中遇見Unsupported Media Type,有一種可能就是我們請求的網頁的content-Type的類型與我們測試的時候的類型不一致 解決方法 可以添…

Spring AI 1.0.0-M6 快速開始(一)

Spring AI 1.0.0-M6 入門一、存儲庫二、依賴管理完整maven 入門 Spring 是JAVA中我們經常使用的框架之一,Spring AI不斷的發展迭代目前已經到M6版本據說上半年會出一個穩定版本。 本節提供了如何開始使用Spring AI的M6。 一、存儲庫 1.0 M6 -添加Spring存儲庫 需…

頂點著色器和片段著色器

在Unity渲染中,**頂點著色器(Vertex Shader)和片段著色器(Fragment Shader)**是圖形渲染管線中的兩個核心階段。我們可以通過一個比喻來理解它們的分工:想象你要畫一幅由三角形組成的3D模型,頂點…

Impacket工具中的橫向滲透利器及其使用場景對比詳解

在滲透測試中,橫向移動(Lateral Movement)是指攻擊者在獲得一個系統的控制權限后,通過網絡進一步滲透到其他系統的過程。Impacket 是一款強大的滲透測試工具集,提供了多種實現橫向滲透的腳本,常見的工具包括…

設計模式|策略模式 Strategy Pattern 詳解

目錄 一、策略模式概述二、策略模式的實現2.1 策略接口2.2 具體策略類2.3 上下文類2.4 客戶端代碼2.5 UML類圖2.6 UML時序圖 三、優缺點3.1 ?優點3.2 ? 缺點 四、最佳實踐場景4.1 適合場景描述4.2 具體場景 五、擴展5.1 繼承復用機制和復合策略5.2 對象管理:優化策…

迷你世界腳本顯示板管理接口:DisPlayBoard

顯示板管理接口:DisPlayBoard 迷你世界 更新時間: 2023-04-26 10:21:14 具體函數名及描述如下: 序號 函數名 函數描述 1 showBoard(...) 對玩家顯示顯示板 2 hideBoard(...) 對玩家隱藏顯示板 3 setBoardPicture 對玩家設置顯示板的圖片…

尚硅谷爬蟲note14

一、scrapy scrapy:為爬取網站數據是,提取結構性數據而編寫的應用框架 1. 安裝 pip install scrapy 或者,國內源安裝 pip install scrapy -i https://pypi.douban.com/simple 2. 報錯 報錯1)building ‘twisted.te…

merge函數

merge函數 今天在刷lc,從靈神題解中學到的 來源:560. 和為 K 的子數組 - 力扣(LeetCode) java8 merge()方法被引入到HashMap類中,用于簡化鍵值對操作,在處理鍵值對時,提供一個重新映射函數來決…