色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記:c語言共用體和結構體的區別

嵌入式學習筆記:c語言共用體和結構體的區別 時間:2018-09-06      來源:未知

c++中,結構體(struct)和共用體(union)是比較相似的復合數據類型,這兩個都是用來存儲多種數據的,但是他們之間還是有很大差距的,一起來了解

【1】共用體

(1)共用體的概念

在 C 語言中,不同數據類型的數據可以使用共同的存儲區域,這種數據構造類型稱為共用體,簡稱共用,又稱聯合體。

共用體在定義、說明和使用形式上與結構體相似。兩者本質上的不同僅在于使用內存的方式上。

定義一個共用體類型的一般形式為:

union 共用體名

{

成員表列;

};

例如:

union gy

{

int i; char c; float f;

};

這里定義了一個共用體類型 union gy,它由三個成員組成,這三個成員在內存中使用共同的存儲空間。

由于共用體中各成員的數據長度往往不同,所以共用體變量在存儲時總是按其成員中數據長度最大的成員占用內存空間。

在這一點上共用體與結構體不同,結構體類型變量在存儲時總是按各成員的數據長度之和占用內存空間。

例如,定義了一個結構體類型:

struct gy

{

int i;

char c;

float f;

};

則結構體類型 struct gy 的變量占用的內存大小為 2+1+4=7 個字節(不考慮字節對齊)。

在使用共用體類型變量的數據時要注意:在共用體類型變量中起作用的成員是最后一次存放的成員,

在存入一個新的成員后原有的成員就失去作用。如有以下賦值語句:

a.i = 1;

a.c = ’a’;

a.f = 1.5;

完成以上三個賦值運算以后,a.f 是有效的,a.i 和 a.c 已經無意義了。

在程序中經常使用結構體與共用體相互嵌套的形式。

即共用體類型的成員可以是結構體類型,或者結構體類型的成員是共用體類型。

例如,下列結構體類型 datas 的第三個成員是共用體類型:

struct datas

{

char *ps;

int type;

union

{

float fdata;

int idata;

char cdata;

}udata;

};

【2】typedef

(1)在 C 語言中,允許使用關鍵字 typedef 定義新的數據類型

其語法如下:

typedef

<已有數據類型>

<新數據類型>;

如:

typedef int INTEGER;

這里新定義了數據類型 INTEGER, 其等價于 int

INTEGER i; <==> int i;

(2) 在 C 語言中經常在定義結構體類型時使用 typedef,例如

typedef

{

struct _node_

int data;

struct _node_ *next;

} listnode, *linklist;

這里定義了兩個新的數據類型 listnode 和 linklist。其中 listnode 等價于數據類型 struct _node_ 而 linklist 等價于 struct _node_ *

【3】

上一篇:嵌入式學習筆記:c語言結構體的定義和使用

下一篇:嵌入式學習筆記:shell腳本變量詳解

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 精品动漫一区二区| 成人av在线天堂| 狠狠久久五月精品中文字幕| 精品国偷自产在线视频| 亚洲最新av在线网站| 日日骚av一区| 精品毛片网大全| 欧美一区二区三区图| 国产精品久久久久久久久久小说 | 国产精品免费看久久久香蕉| 热久久这里只有精品| 国产精品久久久久久久久久免费| 国产美女直播视频一区| 亚洲精品电影久久久| 日日狠狠久久偷偷四色综合免费| 欧美午夜xxx| 国产经典一区二区| 日韩av在线影视| 久久韩剧网电视剧| 欧日韩在线观看| 日韩精品极品在线观看播放免费视频 | 欧美性极品少妇精品网站| 久久久久久国产免费| 国产精品免费在线免费| 国产视频精品久久久| 美女精品久久久| 欧美在线一级视频| 日韩成人av一区| 精品毛片网大全| 成人看片人aa| 久久中文精品视频| 日韩免费观看av| 国产亚洲精品综合一区91| 韩国三级日本三级少妇99| 91美女片黄在线观看游戏| 久久天天躁狠狠躁夜夜av| 欧美在线观看日本一区| 亚洲一区二区久久久| 欧洲s码亚洲m码精品一区| 亚洲免费伊人电影在线观看av| 日韩欧美主播在线|