何樱c语言,C语言程序设计-电子教案-连卫民(442页)-原创力文档
本課件都是本人上完課以后,進(jìn)行整理得到的,便于大家分享
本章結(jié)束! C語(yǔ)言程序設(shè)計(jì) 主編:連衛(wèi)民 何 櫻 第9章 結(jié)構(gòu)體、共用體和枚舉類型 本章主要內(nèi)容: 9.1 結(jié)構(gòu)體(重點(diǎn)) 9.2 鏈表(重點(diǎn)) 9.3 共用體 9.4 枚舉類型(重點(diǎn)) 9.5 類型定義符typedef 本章教學(xué)要求: 掌握結(jié)構(gòu)體類型的定義及應(yīng)用 熟悉鏈表的定義及使用方法 掌握枚舉類型定義及在實(shí)際問(wèn)題中的應(yīng)用 了解共用體及類型定義符的使用 9.1 結(jié)構(gòu)體 本節(jié)主要介紹結(jié)構(gòu)體類型的定義、結(jié)構(gòu)體變量的定義與使用、結(jié)構(gòu)體數(shù)組的定義與使用、結(jié)構(gòu)體指針的定義與使用。 9.1.1 結(jié)構(gòu)體類型的定義 1.定義格式如下: struct結(jié)構(gòu)體名 { 成員項(xiàng)列表; }; 第9章 結(jié)構(gòu)體、共用體和枚舉類型 9.1 結(jié)構(gòu)體 9.1.1 結(jié)構(gòu)體類型的定義 2.例如,可以這樣定義與學(xué)生基本信息對(duì)應(yīng)的結(jié)構(gòu)體類型: struct student { char num[11]; /* 學(xué)號(hào)*/ char name[10]; /* 姓名 */ char sex; /* 性別 */ int age; /* 年齡 */ char nation; /* 民族 */ char addr[20]; /*家庭住址*/ }; 第9章 結(jié)構(gòu)體、共用體和枚舉類型 9.1 結(jié)構(gòu)體 9.1.1 結(jié)構(gòu)體類型的定義 3.注意 ① 不要忘記寫花括弧外的分號(hào)。 ② 一個(gè)結(jié)構(gòu)體類型有其專用的標(biāo)志,它由兩個(gè)標(biāo)識(shí)符組成,其中第一個(gè)標(biāo)識(shí)符為關(guān)鍵字struct,第二個(gè)標(biāo)識(shí)符student為結(jié)構(gòu)體名,由編程人員按照標(biāo)識(shí)符的命名規(guī)則來(lái)指定。這兩者聯(lián)合起來(lái)組成一個(gè)“類型標(biāo)識(shí)符”即“類型名”。 ③ 一個(gè)結(jié)構(gòu)體類型是由若干個(gè)數(shù)據(jù)項(xiàng)組成,每一個(gè)數(shù)據(jù)項(xiàng)都必須屬于一種已定義的類型,且各個(gè)數(shù)據(jù)項(xiàng)的類型可以不相同。每一個(gè)數(shù)據(jù)項(xiàng)稱為一個(gè)結(jié)構(gòu)體的成員,也稱為“域”。比如在上面的定義中,name、sex、age等不是變量名而是結(jié)構(gòu)體類型struct student的成員名。在一個(gè)函數(shù)中,可以另外定義與結(jié)構(gòu)體成員同名的變量名,它們代表不同的對(duì)象。 第9章 結(jié)構(gòu)體、共用體和枚舉類型 9.1 結(jié)構(gòu)體 9.1.1 結(jié)構(gòu)體類型的定義 3.注意 ④ 結(jié)構(gòu)體類型可以有無(wú)數(shù)種。因?yàn)榻Y(jié)構(gòu)體名可由程序設(shè)計(jì)人員自定,且結(jié)構(gòu)體成員可千變?nèi)f化,所以結(jié)構(gòu)體類型不是只有一種,而可以有千千萬(wàn)萬(wàn)種,這一點(diǎn)也是與基本類型不同的。 ⑤ 定義一個(gè)結(jié)構(gòu)體類型并不意味著系統(tǒng)將分配一段內(nèi)存單元來(lái)存放各數(shù)據(jù)項(xiàng)成員。因?yàn)檫@只是定義類型而不是定義變量,只有在定義變量以后,計(jì)算機(jī)才會(huì)依據(jù)結(jié)構(gòu)體成員的數(shù)據(jù)類型,在內(nèi)存中取得一塊連續(xù)的存儲(chǔ)空間來(lái)存放這些成員。 第9章 結(jié)構(gòu)體、共用體和枚舉類型 9.1 結(jié)構(gòu)體 9.1.2 結(jié)構(gòu)體變量的定義與使用 1.結(jié)構(gòu)體變量的定義 結(jié)構(gòu)體在使用時(shí),需要先定義結(jié)構(gòu)體類型,然后再根據(jù)自定義的結(jié)構(gòu)體類型去定義結(jié)構(gòu)體變量。 可以用以下三種方法定義一個(gè)結(jié)構(gòu)體變量。 (1)先定義結(jié)構(gòu)體類型再定義該類型的變量。如上面已經(jīng)定義了一個(gè)結(jié)構(gòu)體類型struct student,現(xiàn)在可以用它定義結(jié)構(gòu)體變量。struct student stu1, stu2; (2)定義一個(gè)結(jié)構(gòu)體類型的同時(shí)定義該結(jié)構(gòu)體類型的變量。一般格式如下: struct 結(jié)構(gòu)體名 { 結(jié)構(gòu)體成員列表; } 變量名列表; 第9章 結(jié)構(gòu)體、共用體和枚舉類型 struct student { char num[11]; char name[10]; char sex; int age; char nation; char addr[20]; }stu1,stu2; 9.1 結(jié)構(gòu)體 9.1.2 結(jié)構(gòu)體變量的定義與使用 1.結(jié)構(gòu)體變量的定義 可以用以下三種方法定義一個(gè)結(jié)構(gòu)體變量。 (3)直接定義結(jié)構(gòu)體類型的變量。一般格式如下: struct { 結(jié)構(gòu)體成員列表; } 變量名列表; 即不出現(xiàn)結(jié)構(gòu)體名。 但這種形式只是定義了結(jié)構(gòu)體類型的變量,沒(méi)有指定此結(jié)構(gòu)體類型的名字,因此以后不能再用它來(lái)定義其它變量。 第9章 結(jié)構(gòu)體、共用體和枚舉類型 struct { char num[11]; char name[10]; char sex; int age; char nation; char addr[20]; } stu1, stu2; 9.1 結(jié)構(gòu)體 9.1.2 結(jié)構(gòu)體變量的定義與使用 1.結(jié)構(gòu)體變量的定義 說(shuō)明: ① 類型與變量是不同的概念。對(duì)結(jié)構(gòu)體變量來(lái)說(shuō),
總結(jié)
以上是生活随笔為你收集整理的何樱c语言,C语言程序设计-电子教案-连卫民(442页)-原创力文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言条件编译的例子,C语言条件编译分析
- 下一篇: quot c语言数组压缩 quot,程序