面試裡遇到的結構體個和聯合體的題目

2021-06-28 22:05:13 字數 594 閱讀 5866

已知聯合體

union date

bit;

unsigned

char val[5];

};

> 已知

union date

date;

date.vale=0x12345678;

求聯合體其他成員的值(區分大端和小端)

小端模式(資料低位放在記憶體低位址)

date.vale=0x12345678

date.val[0]=0x78 (低位址存低資料位資料)

date.val[1]=0x56

date.val[2]=0x34

date.val[3]=0x12

date.val[4]=0xbf (隨機)

date.bit.mval0=0x78

date.bit.mval1=0x56

date.bit.mval2=0x34

date.bit.mval3=0x12

date.bit.mval4=0xbf (隨機)

結構體和聯合體

結構體是一些值的集合,這些值成為它的成員。這和陣列有些類似。結構體和陣列最大的不同是,陣列的元素都是相同型別的,而結構體裡的成員可以具有不同的型別。陣列元素可以通過下標來訪問,而結構體成員長度可能不同,所以不能通過下標訪問。每個結構體成員都有自己的名字,所以結構體成員是通過名字訪問的。結構體變數屬於...

聯合體和結構體

一 前言 聯合體 union 與 結構體 struct 有一些相似之處。但兩者有本質上的不同。在結構體中,各成員有各自的記憶體空間,乙個結構變數的總長度是各成員長度之和 而在 聯合 中,各成員共享一段記憶體空間,乙個聯合變數的長度等於各成員中最長的長度 應該說明的是,這裡所謂的共享不是指把多個成員同...

聯合體 位域結構體 聯合體的妙用

在c語言中,變數的定義是分配儲存空間的過程。一般的,每個變數都具有其獨有的儲存空間,那麼可不可以在同乙個記憶體空間中儲存不同的資料型別 不是同事儲存 呢?答案是可以的,使用聯合體就可以達到這樣的目的。聯合體也叫共用體,在c語言中定義聯合體的關鍵字是union。定義乙個聯合型別的一般形式為 union...