結構(structure)和聯盟(union)的區別

結構和聯合都是使用者定義的資料型別,包含不同資料型別的變數。它們在定義、宣告變數和檢索成員時都有相同的語法。結構和聯合仍然有許多不同之處。在結構上,每個成員在記憶體中都有獨立的空間。在union中,分配的總記憶體空間等於大小最大的成員。所有其他成員共享相同的記憶體空間。這是結構和聯合的最大區別。...

主要區別

結構和聯合都是使用者定義的資料型別,包含不同資料型別的變數。它們在定義、宣告變數和檢索成員時都有相同的語法。結構和聯合仍然有許多不同之處。在結構上,每個成員在記憶體中都有獨立的空間。在union中,分配的總記憶體空間等於大小最大的成員。所有其他成員共享相同的記憶體空間。這是結構和聯合的最大區別。

什麼是結構(structure)?

結構使用其成員的所有記憶體。在結構上,我們可以接納任何序列中的任何成員。

什麼是聯盟(union)?

聯合使用最大成員的記憶體空間。在union中,我們只能訪問最近儲存其值的變數。

主要區別

  1. 在結構上,每個成員在記憶體中都有獨立的空間。在union中,分配的總記憶體空間等於大小最大的成員。所有其他成員共享相同的記憶體空間。這是結構和聯合的最大區別。
  2. 在結構上,我們可以接納任何序列中的任何成員。而在union中,我們只能訪問值最近被儲存的那個變數。
  3. 所有成員都可以在宣告結構變數時進行準備。宣告union變數時只能初始化第一個成員。在上面的例子中,我們只能在宣告變數時修改變數roll no。
  4. 在一個結構中,所有成員都得到分配的記憶體,並且成員的地址隨著減速器從左到右的讀取而增加。也就是說,一個結構的構件都是從結構底部的不同偏移開始的。對於聯合編譯器,為所有成員中最大的一個分配記憶體,並且在聯合中,所有成員的基偏移量為零,容器足夠大,可以容納最寬的成員,並且對齊方式適用於聯合中的所有型別。
  5. 在一個結構中,所有成員都被分配了記憶體,因此任何成員都可以在任何時候被檢索。從聯合檢索資料時,要檢索的型別必須是最近儲存的型別。
  6. 一個結構的一個或多個成員可以一次初始化。聯合只能用其第一個成員型別的值初始化;因此,上面描述的聯合u(在示例宣告期間)只能用整數值初始化。
  7. 儲存結構變數的記憶體量前提條件是所有成員的大小之和。另一方面,在聯合的情況下,所需的記憶體量始終等於其最大成員所需的記憶體量。
  8. 對於union,您只能假設使用其中一個元素,因為它們都儲存在同一個位置。這使它在您想要儲存可能是幾種型別之一的內容時非常有用。另一方面,一個結構的每個元素都有一個單獨的記憶體位置,它們都可以一次使用。
  • 發表於 2020-06-08 06:31
  • 閱讀 ( 25 )
  • 分類:科技

你可能感興趣的文章

結構的(structural)和功能基因組學(functional genomics)的區別

...與功能基因組學的表格形式 6. 摘要 什麼是結構基因組學(structural genomics)? 結構基因組學是研究基因組的物理性質。因此,結構基因組學主要研究基因組的測序和作圖。一個有機體中基因組的完整序列或蛋白質的全套是由結構基...

  • 發佈於 2020-09-16 00:27
  • 閲讀 ( 49 )

尖晶石(spinel)和反尖晶石結構(inverse spinel structure)的區別

...尖晶石結構的表格形式 5. 摘要 什麼是尖晶石結構(spinel structure)? 尖晶石是任何種類的礦物,一般化學式為AB2X4。這些結構通常是立方晶體系統。在上面的通式中,“X”是一個陰離子(通常,這個陰離子是一個硫族元素,如氧和...

  • 發佈於 2020-09-19 04:56
  • 閲讀 ( 47 )

同源結構(homologous structures)和殘留器官(vestigial structures)的區別

...與殘留結構的表格形式 6. 摘要 什麼是同源結構(homologous structures)? 同源結構是存在於不同生物體中的相似的解剖結構。分析這些同源結構的進化可以發現這些生物有著共同的祖先。因此,它們是進化上相關的有機體。例如,鳥...

  • 發佈於 2020-10-16 01:55
  • 閲讀 ( 53 )

閃鋅礦(zinc blende)和金剛石結構(diamond structure)的區別

...單元胞中有四個不對稱單元。 什麼是金剛石結構(diamond structure)? 金剛石是碳的同素異形體。它是一種固體形式的碳,具有三維形狀。此外,每個碳原子透過共價化學鍵與另外四個碳原子相連。這種晶體結構被稱為“金剛石立方...

  • 發佈於 2020-10-16 02:41
  • 閲讀 ( 190 )

聯盟(union)和sqlserver中的union all(union all in sql server)的區別

...資料冗餘以實現資料一致性。sqlserver就是這樣一種DBMS。結構化查詢語言(SQL)是資料庫管理系統中管理資料的語言。Union和Union all是SQL中的兩個命令,它們有助於在表資料中執行set操作。 目錄 1. 概述和主要區別 2. SQL Server中的...

  • 發佈於 2020-10-18 10:13
  • 閲讀 ( 47 )

結構(structure)和c中的並集(union in c)的區別

...較-表格形式的C中的結構與並集 6. 摘要 什麼是c中的結構(structure in c)? 結構是C語言中使用者定義的資料型別,它有助於組合不同型別的資料項。結構可以表示記錄。學生可以有student_id、student_name等,而不是分別儲存每個變數,...

  • 發佈於 2020-10-19 06:29
  • 閲讀 ( 50 )

同源的(homologous)和同功結構(analogous structures)的區別

...的同源結構與相似結構 5. 摘要 什麼是同源結構(homologous structures)? 同源結構是指不同動物的**或其他結構,它們來自同一祖先。這些結構在解剖學上是相似的,但它們可能執行不同的功能。同源結構是在相關生物中發展起來的...

  • 發佈於 2020-10-20 20:21
  • 閲讀 ( 50 )

結構化的(structured)和非結構化程式設計(unstructured programming)的區別

結構化的(structured)和非結構化程式設計(unstructured programming)的區別 計算機程式是計算機執行用程式語言編寫的任務的一組指令。程式設計範例可以根據語言特性對程式語言進行分類。結構化程式設計和非結構化程式設計是兩...

  • 發佈於 2020-10-24 05:09
  • 閲讀 ( 78 )

高的(tall)和扁平結構(flat structure)的區別

高的(tall)和扁平結構(flat structure)的區別 高層結構與扁平結構的關鍵區別在於,高層結構是一種具有多個層次結構的組織結構,而扁平結構則是具有有限數量層次的組織結構。組織結構的選擇要慎重,以保證決策的有效性和及...

  • 發佈於 2020-10-25 04:21
  • 閲讀 ( 53 )

結構(structure)和基礎設施(infrastructure)的區別

結構(structure)和基礎設施(infrastructure)的區別 儘管結構和基礎設施這兩個詞似乎是相關的,但結構和基礎設施之間有著明顯的區別。結構是指在一個特定的系統中由幾個部分組成的東西;它也可以指這些組成部分排列在一起的...

  • 發佈於 2020-10-28 03:30
  • 閲讀 ( 42 )
捌佰逗比犇北坡
捌佰逗比犇北坡

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦