有關C語言結構體和共用體題

2025-03-09 15:35:08 字數 2099 閱讀 6829

1樓:安曼華宋雲

這個問題要求你對union比較理解。

首先你要知道,對於這個union,到底分配了多大的內清和存:

union是按最大的元素大小來分配記憶體,比如說int型別分配4位元組,那麼在這個union中最簡正襲大的就是in這個struct,要分配8位元組,所以這個union就只有8位元組,而union的第二個元素,也就是int

a,它是被放在union的前4位元組,同樣第攔兄三個元素intb,也是放在前4位元組,所以它們都是重疊的,當你1時,a和b都被賦為1,當你。

2時,a和b

都被賦為2,所以後面。

時就是4了,而此時a和b又都被賦為4,後面。

再求自然也就是。

了。你可以將對a和b賦值的語句註釋掉乙個,你會發現雖然a和b其中乙個沒被賦初值,但並不會出現亂碼,而且最後的結果是你可以預知的,比如你註釋掉。

2,輸出就會是1,2

如果註釋掉。

1,輸出就還是4,8

2樓:強德文騎娟

對於結構體來帆或唯說,他的所有成員是共用同一段記憶體的。

也就是說,是從同乙個位址開始的。

這樣,這三個。int

型的變數,實際完態培全共享同一段記憶體,而且長度也相等。

在記憶體中則排在它團蔽們的後面。

於是,當對。,中的任何乙個賦值的時候,三者都會同時發生改變。

在c語言中,共用體一般有什麼作用?

3樓:好學者百科

共用體一般指聯合體,作用如下:

1、節省記憶體。

有兩個很長的資料結構,不會同時使用,用結構體的話,只佔用最長的那個資料結構所佔用的空間,就足夠了。

2、做某些轉換用。

union;

x=;cout<

c語言裡面結構體與共同體是啥意思具體指的是什麼

4樓:噠噠啊如同一條

我通俗地說。結構體是把不同的資料型別的變數放在一起。

共同體是在記憶體中找一單元,可以儲存多種資料型別的變數,但一次只能存一種。

5樓:無花果的功效與作用

說簡單點。結構體 struct 是乙個資料型別,當你要儲存乙個同學的資訊(學號,成績,名字等等),可以將這些變數集合,放到乙個結構體裡。再修改他們就通過結構體來訪問。

如果沒有結構體,記錄這些資訊是一件相當繁瑣的事。

共同體類似結構體,但是共同體裡面的變數是在乙個記憶體單元的,修改乙個變數就會影響其他變數。

就是這樣、不明白在追問。^^

結構體和共用體在c語言中是怎麼用的

6樓:遊建設葉乙

結構體和共用體其實都是用來描述一組由不同型別變數的集合,也就是說結構體和共用體中都可以同時存在int型、char型、float型等等!!

但是不同的是,結構體內所定義的每乙個變數都有其自己獨立的儲存空間,互不干涉,比如乙個結構體中有乙個int型、同時有乙個char型,那麼它們是獨立的,總共佔用三個位元組空間。

而共用體內定義的每乙個變數都共同享有同乙個儲存空間,儲存空間的大小是佔用空間最大的那個一變數的大小。比如,我還是在裡面有乙個int型和乙個char型,那這個共用體就佔int型的2個位元組,加入我用共用體存入乙個char型資料,我可以用int型來讀取,讀的是二進位資料。

呵呵呵呵,c語言是很久以前學的了,不知道這點記憶對不對,但是希望能幫得到你。

7樓:閔永芬買念

乙個程式通常圍繞這兩個方面進行:資料儲存和資料操作;

結構體是一種資料型別,用來將不同型別的資料組合在一起,決定資料的儲存問題(比如在記憶體佔多大的空間來,系統怎麼解釋儲存資料的位資料啦等等)同int,double

等編譯器內建的資料型別基本相同,只不過結構體是使用者自己定義的資料型別而已,例如:

struct

student

charname[20];

intno;

函式是對資料的一種操作;

結構體和共用體在c語言中是怎麼用的

8樓:

共用體用得很少,結構體用得較多。

C語言題目,用結構體寫,C語言結構體程式設計題,求大神!

include struct date struct car int main void printf 車牌號 t載客量 t顏色 t出廠日期 n printf d t d t s t d d d vehicle.license,vehicle.busload,vehicle.color,vehicl...

c語言定義結構體變數,C語言 定義結構體變數

樂跑小子 首先,定義一個結構的一般形式為 struct結構名 成員表由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為 型別說明符 成員名 成員名的命名應符合識別符號的書寫規定。例如 struct stu 在這個結構定義中,結構名為stu,該結構由4個成員組成。...

C語言結構體選單問題,C語言結構體實現多級選單的困惑,請高手解答

首先struct menuitem menupoint main menu 1f 這沒錯,但一般不會這麼用,加括號只是在必要時,如定義行指標獲函式指標時 typedef重定義型別更好 至於為什麼會出現error c230 menuitem unknown struct union enum tag ...