色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號

回到頂部

主站蜘蛛池模板: 亚洲精品无码久久久久A片苍井 | 4399理论片午伦夜理片 | 中国一级淫片bbb | 50岁四川熟女露脸A片 | 久久国产劲爆∧V内射 | 午夜无码伦费影视在线观看 | 亚洲熟女乱综合一区二区 | 天堂无码人妻精品av一区 | 中文字幕久久久久人妻 | 国产强伦姧人妻毛片 | 别插我b嗯啊视频免费 | 久久久久久人妻精品一区二区三区 | 在线观看17c | 中文字幕在线网站 | 亚洲avtv永久综合在线 | 少妇粉嫩小泬白浆流出 | 99久久国产精品一区二区三区 | 久久精品aⅴ无码中文字字幕 | 久久一日本综合色鬼综合色 | 岛国大片免费视频 | 日本边添边摸边做边爱的网站 | 揉着我的奶从后面进去视频 | 亚洲国产欧美日韩在线精品一区 | 大地资源中文在线观看官网第二页 | 欧美放荡的少妇 | 久久国产精品人妻丝袜 | 亚洲av伊人久久青青草原 | 免费A级毛片无码 | 国产乱子伦无套一区二区三区 | 亚洲AV无码乱码国产麻豆穿越 | 国产乱理伦片在线观看夜 | 中国浓毛少妇毛茸茸 | 日韩欧美 | 福利一区二区福利刺激微拍 | 色翁荡息又大又硬又粗又视频软件 | 小蜜被两老头吸奶头在线观看 | japanese在线观看精品视频 | 色屁屁WWW影院免费观看 | 大战丰满人妻性色Av偷偷 | 久久久经典视频 | 中国美女一级片 |