色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

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

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

c高級結構體如何來學習,這里分享一些學習筆記,可以輕松學c高級結構體。

【1】結構體數組

(1)結構體數組的定義

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

結構體數組的每一個數組元素都是結構體類型的數據,它們都分別包括各個成員(分量)項。

2)定義結構體數組的方法和定義結構體變量的方法相仿,只需說明其為數組即可。

可以采用三種方法:

a. 先定義結構體類型,再用它定義結構體數組。結構體數組的定義形式如下:

struct 結構體名

{

成員表列;

};

struct 結構體名

例如:

struct student

{

char name[20];

char sex;

int age;

char addr[20];

};

struct student stu[3];

b. 在定義結構體類型同時定義結構體數組。結構體數組的定義形式如下:

struct 結構體名

{

成員表列;

}數組名[元素個數];

例如:

struct student

{

char name[20];

char sex;

int age;

char addr[20];

}stu[3];

c. 直接定義結構體數組

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

struct //沒有結構體名

{

成員表列;

}數組名[元素個數];

例如:

struct

{

char name[20];

char sex;

int age;

char addr[20];

}stu[3];

(2)結構體數組的初始化

結構體數組在定義的同時也可以進行初始化,并且與結構體變量的初始化規定相

同,

只能對全局的或靜態存儲類別的結構體數組初始化。

結構體數組初始化的一般形式是:

struct 結構體名

{

成員列表;

};

struct 結構體名 數組名[元素個數]={初始數據表};或者:

struct 結構體名

{

成員表列;

}數組名[元素個數]={初始數據表};

由于結構體變量是由若干不同類型的數據組成,而結構體數組又是由若干結構體變量組成。

所以要特別注意包圍在大括號中的初始數據的順序,以及它們與各個成員項間的對應關系。

(3)結構體數組的使用

一個結構體數組的元素相當于一個結構體變量,因此前面介紹的有關結構體變量的規則也適應于結構體數組元素。

以上面定義的結構體數組 stu[3]為例說明對結構體數組的引用:

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

若要引用數組第二個元素的 name 成員,則可寫為:

stu[1].name

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

如:

struct student stu[3],student1;

現在定義了一個結構體類型的數組,它有 3 個元素,又定義了一個結構體類型變量student1,則下面的賦值是合法的。

student1=stu[0];

stu[0]=stu[1];

stu[1]=student1;

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

printf(“…”,stu[0]);

scanf(“…”,&stu[0]);

都是錯誤的。

只能以單個成員為對象進行輸入輸出,如:

scanf(“…”,stu[0].name);

scanf(“…”,&stu[1].num);

printf(“…”,stu[0].name);

printf(“…”,stu[1].num);

(4)結構體指針

可以設定一個指針變量用來指向一個結構體變量。此時該指針變量的值是結構體變量的起始地址,該指針稱為結構體指針。

結構體指針與前面介紹的各種指針變量在特性和方法上是相同的。與前述相同,在程序中結構體指針也是通過訪問目標運算“*”訪問它的對象。

結構體指針在程序中的一般定義形式為:

struct 結構體名 *結構指針名;

其中的結構體名必須是已經定義過的結構體類型。

例如,

對于上一節中定義的結構體類型 struct student,

可以說明使用這種結構體類型的結構指針如下:

struct student *pstu;

其中 pstu 是指向 struct student 結構體類型的指針。結構體指針的說明規定了它的數據特性,并為結構體指針本身分配了一定的內存空間。

但是指針的內容尚未確定,即它指向隨機的對象。

當表示指針變量 p 所指向的結構體變量中的成員時,“(*結構體指針名).成員名”這種表示形式總是需要使用圓括號,顯得很不簡煉。

因此,對于結構體指針指向的結構體成員項,給出了另外一種簡潔的表示方法,如下表

示:

結構體指針名->成員名

它與前一種表示方法在意義上是完全等價的。

例如,結構體指針 p 指向的結構體變量中的成員 name 可以表示如下:

(*p).name 或 p->name

上一篇:嵌入式學習筆記:c++文件操作由淺入深,讓你理解透徹

下一篇:嵌入式學習筆記:c語言共用體和結構體的區別

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

回到頂部

主站蜘蛛池模板: 男人猛躁进女人免费播放 | а的天堂网最新版在线 | 古装激情偷乱人伦视频 | 蜜桃视频在线播放 | 思思99热精品免费观看 | 无遮挡裸体免费视频尤物 | 蜜桃Av久久精品人人槡 | 欧美激情综合亚洲一二区 | 亚洲精品成人AA片在线播 | 中文字幕第68页 | 麻豆天美国产一区在线播放 | 国产成人欧美视频在线观看 | 青柠影院在线观看免费高清 | 毛片a片免费观看 | 俄罗斯xxxx性全过程 | 女人被躁到高潮嗷嗷叫免费 | 天堂在线.www天堂在线资源 | 亚洲熟妇无码AV在线观看 | 欧美性生交XXXXX久久久 | 精品少妇人妻AV无码久久 | 日本亚洲色大成网站WWW | 欧美日韩精品视频一区二区 | 亚洲成a∧人片在线播放 | 久久久噜噜噜久久中文福利 | 欧美肥bb | 拔插拔插8X8X海外华人免费视频 | 八戒午夜福利理论片 | 国产99视频精品免费视频7 | 亚洲一卡二卡三卡四卡无卡网站 | 亚洲色欲色欲综合网站sw0060 | 欧美黄色看 | 亚洲欧美黑人猛交群 | 九九99九九精彩网站 | 国内极度色诱视频网站 | 亚洲国产日韩在线人成蜜芽 | a黄色在线观看 | 成在线人av免费无码高潮喷水 | 色偷偷色偷偷色偷偷在线视频 | 韩剧网韩剧TV在线观看 | 香港经典三级av在在线观看 | 亚洲AV无码国产精品色午友在线 |