亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記:c語言結構體學習方法

嵌入式學習筆記:c語言結構體學習方法 時間:2018-09-04      來源:未知

C語言結構體學習還是很簡單的,有些人對結構體的學習很迷茫,那就是因為你沒有掌握方法來學,今天分享一下學習C語言結構體的方法,一起來看:

【1】定義

【2】結構體類型變量的定義方法

【3】結構體普通變量的使用形式

【4】結構體大小

【5】結構體指針

【6】結構體數組

【7】結構體數組的使用

【1】定義

不同類型的數據是互相聯系組成了一個有機的整體。此時,就要用到一種新的構造類型數據——結構體(structure),簡稱結構。

定義一個結構體類型的一般形式為:

struct 結構體名

{

數據類型

數據類型

成員名1;

成員名2;

數據類型

成員名n;

};

在大括號中的內容也稱為“成員列表”或“域表”,其中每個成員名的命名規則與變量名相同;數據類型可以是基本變量類型和數組類型,或者是一個結構體類型。用分號“;”作為結束符。整個結構的定義也用分號作為結束符

說明:結構體類型中的成員名可以與程序中的變量名相同,二者并不代表同一對象,編譯程序可以自動對它們進行區分。

最后,總結一下結構體類型的特點:

(1)結構體類型是用戶自行構造的。

(2)它由若干不同的基本數據類型的數據構成。

(3)它屬于C語言的一種數據類型,與整型、實型相當。

//定義它時不分配空間,只有用它定義變量時才分配空間。//注意:結構體需要在程序的最上面定義//注意:定義一個結構體時,沒有開辟空間

【2】結構體類型變量的定義方法

這是C語言中定義結構體類型變量最常見的方式

struct 結構體名

(1)先定義結構體類型再定義變量 {

名 成員列表;

};

struct 結構體名變量名;

struct 結構體名

(2)在定義類型的同時定義變量 {

成員列表;

}變量名;

struct//沒有結構體名

(3)直接定義結構類型變量 {

成員列表

}變量名;

struct stu//有名結構體

{

int id;

char name[N];

struct//一般在結構體內部再定義一個結構體,則需

要使用無名結構體

(4)嵌套定義結構體變量{

int year;

int mon;

int day;

}birthday; birthday為stu內部成員的變量的名字

int score;

char sex;

};

【3】結構體普通變量的使用形式

使用結構體變量訪問結構體成員

結構體變量的成員用以下一般形式表示:

結構體變量名.成員名

【4】結構體大小

一個結構體變量占用內存的實際大小,也可以利用sizeof求出。它的運算表達式

為:

sizeof(運算量)

注意: 4 字節對齊,

若某一變量所占字節為4字節或是4字節的倍數的情況下(int、float、double、long),它之前的變量所占空間若不為4的倍數(char、short),則需將其補齊為4的倍數

例如:char ch;

int i; // 則ch同樣占據4字節

char ch2;

short s;

long l; // ch2 與 s 共同占據4字節,l 占據 4 字節

【5】結構體指針

//結構體指針變量訪問成員,通常使用x->或者(*x)

【6】結構體數組

具有相同結構體類型的結構體變量也可以組成數組,稱它們為結構體數組。

結構體數組的定義形式如下:

struct 結構體名

(1)先定義結構體類型,再用它定義結構體數{

組。成員表列;

};

struct 結構體名數組名[元素個數]

(2)在定義結構體類型同時定義結構體數組。結構體數組的定義形式如下:

struct 結構體名

{

成員表列;

}數組名[元素個數];

結構體數組的定義形式如下:

struct//沒有結構體名

(3)直接定義結構體數組{

成員表列;

}數組名[元素個數];

【7】結構體數組的使用

(1)引用某一元素中的成員。

(2)可以將一個結構體數組元素值賦給同一結構體類型的數組中的另一個元素,

或賦給同一類型的變量。

//結構體數組本質上是一個數組,所以不能通過數組名進行賦值

struct stu t[3];

//t = s;

//數組元素相當于變量,所以可以使用結構體數組元素進行賦值 t[0] = s[0];

t[1] = s[1];

t[2] = s[2];

(3)不能把結構體數組元素作為一個整體直接進行輸入輸出。

上一篇:嵌入式學習筆記:c語言輸入輸出函數基礎總結

下一篇:嵌入式學習筆記:進程間的通信方式總結

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

回到頂部

主站蜘蛛池模板: 久久99精品国产 | 麻豆黑色丝袜jk制服福利网站 | 免费行情软件 | 免费不卡中文字幕在线 | 亚洲高清在线观看播放 | 中文字幕第二页 | 性夜影院爽黄a爽免费视频 性做久久久久久坡多野结衣 | 日本aⅴ永久免费网站www | 日本高清在线一区 | 99视频在线观看免费视频 | 老子影院午夜伦手机不卡无 | 婷婷人人爽人人爽人人片 | 国产精品久久久久免费a∨ 国产精品久久久久秋霞影视 | 2021国产精品久久 | 免费看a级毛片 | 灰姑娘韩国电视剧在线观看 | 亚洲黄色高清视频 | 香蕉人人精品 | 欧洲性大片xxxxx久久久 | 欧美视频在线网站 | 国产一区二区三区波多野吉衣 | 欧美久操 | 欧美在线一二三区 | 99热这里只有精品18 | 日韩精品手机在线 | 欧美中文综合在线视频 | 国产婷婷色一区二区三区深爱网 | 国产成+人+综合+亚洲 欧美 | 国产成人精品午夜免费 | 99热这里只有精品免费 | 免费看行情的软件大全免费 | 另类三级 | 曰本视频网络www色 曰本亚洲欧洲色a在线 | 国产成人a | 欧美中文字幕 | 久久精品人人做人人看最新章 | 日日摸处处碰夜夜爽97 | 永久免费人成网ww555kkk手机 | 青草娱乐极品免费视频 | 九九九九热 | 欧美日韩大片在线观看 |