日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記: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號

回到頂部

主站蜘蛛池模板: 屈原话剧| 谭凯琪| 电影《武状元苏乞儿》| 香港毛片视频| 七度空间卫生巾图片| 俺去也电影网| 《保姆妈妈》电视剧| 韩国青草视频| 永濑佳子| 电影院电影| 《万万没想到》电影| 祈今朝电视剧| 经典常谈阅读笔记| xxxxxxxxxxxx| 欧布奥特曼普通话| 朱璇| 淡蓝色的雨简谱| 落鞠婧祎| 快乐到底| 毛骨悚然撞鬼经| 帕瓦德奥特曼| 忏悔三昧全文及回向文| 魅力游戏 第四季 电视剧| 绝对权力全集免费观看| 87版七仙女台湾| 吃什么水果减肥效果好减肥最快| 日韩欧美动作影片| 我的m属性学姐| 小小少年电影简介| qq经典声音| 人民的名义演员名单表| 周杰伦《退后》歌词| 眼睛胬肉手术多久恢复| 老江湖| 女同性恨| 小数除法竖式50道带答案| 尹雪喜电影| 国家宝藏之觐天宝匣| 十大名茶排名顺序| 侠客行演员表| 南方车站的聚会|