結(jié)構(gòu)體、聯(lián)合體、枚舉課件_第1頁
結(jié)構(gòu)體、聯(lián)合體、枚舉課件_第2頁
結(jié)構(gòu)體、聯(lián)合體、枚舉課件_第3頁
結(jié)構(gòu)體、聯(lián)合體、枚舉課件_第4頁
結(jié)構(gòu)體、聯(lián)合體、枚舉課件_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體、聯(lián)合體、枚舉數(shù)據(jù)類型C數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型整整 型型浮浮 點點 型型字字 符符 型型枚舉類型枚舉類型單精度浮點型單精度浮點型雙精度浮點型雙精度浮點型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型聯(lián)合體類型聯(lián)合體類型結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型的定義 結(jié)構(gòu)體類型定義的一般形式為結(jié)構(gòu)體類型定義的一般形式為: struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 類型名類型名1 成員名成員名1; 類型名類型名n 成員名成員名n; ; struct是結(jié)構(gòu)體類型的標(biāo)志。是結(jié)構(gòu)體類型的標(biāo)志。結(jié)構(gòu)體名結(jié)構(gòu)體名是由是由用戶定義的標(biāo)識符,它規(guī)定了

2、所定義的結(jié)構(gòu)用戶定義的標(biāo)識符,它規(guī)定了所定義的結(jié)構(gòu)體類型的名稱。結(jié)構(gòu)體類型的組成成分稱為體類型的名稱。結(jié)構(gòu)體類型的組成成分稱為成員成員,成員名的命名規(guī)則與變量名相同。,成員名的命名規(guī)則與變量名相同。結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型的定義 結(jié)構(gòu)體類型定義形式結(jié)構(gòu)體類型定義形式 例如:例如: struct person char name20; char sex; int age; float height; ; 表示定義了一個結(jié)構(gòu)體類型表示定義了一個結(jié)構(gòu)體類型struct person,它由,它由name、sex、age和和height四個成員組成。四個成員組成。 練習(xí):定義一個結(jié)構(gòu)體類型練習(xí):定

3、義一個結(jié)構(gòu)體類型struct student,要求包含,要求包含學(xué)生姓名、學(xué)號、數(shù)學(xué)成績、英語成績、計算機(jī)成績、學(xué)生姓名、學(xué)號、數(shù)學(xué)成績、英語成績、計算機(jī)成績、總分、郵政編碼、通訊地址??偡?、郵政編碼、通訊地址。結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型的定義 在結(jié)構(gòu)體類型定義中要注意以下幾點:在結(jié)構(gòu)體類型定義中要注意以下幾點: 結(jié)構(gòu)體類型定義中可以包含另外的結(jié)構(gòu)體,即結(jié)構(gòu)結(jié)構(gòu)體類型定義中可以包含另外的結(jié)構(gòu)體,即結(jié)構(gòu)體是可以嵌套的。例如:體是可以嵌套的。例如:struct date int year; int month; int day; ;struct person char name20; char

4、 sex; struct date birthday; float height; ;結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型變量一、結(jié)構(gòu)體變量的定義一、結(jié)構(gòu)體變量的定義 定義結(jié)構(gòu)體類型,只是說明了該類定義結(jié)構(gòu)體類型,只是說明了該類型的組成情況,編譯系統(tǒng)并沒有給型的組成情況,編譯系統(tǒng)并沒有給它分配內(nèi)存空間,就象系統(tǒng)不為它分配內(nèi)存空間,就象系統(tǒng)不為int等類型本身分配空間一樣。只有當(dāng)?shù)阮愋捅旧矸峙淇臻g一樣。只有當(dāng)定義屬于結(jié)構(gòu)體類型的變量時,系定義屬于結(jié)構(gòu)體類型的變量時,系統(tǒng)才會分配存儲空間給該變量。統(tǒng)才會分配存儲空間給該變量。結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型變量一、結(jié)構(gòu)體變量的定義一、結(jié)構(gòu)體變量的定義1.

5、先定義結(jié)構(gòu)體類型,再定義變量。例如:先定義結(jié)構(gòu)體類型,再定義變量。例如:struct person char name20; char sex; int age; float height; ; struct person per; 表示先定義了結(jié)構(gòu)體類型表示先定義了結(jié)構(gòu)體類型struct person,然后,然后定義了一個定義了一個struct person類型的結(jié)構(gòu)體變量類型的結(jié)構(gòu)體變量per。結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型變量一、結(jié)構(gòu)體變量的定義一、結(jié)構(gòu)體變量的定義 結(jié)構(gòu)體變量占用的內(nèi)存空間是結(jié)構(gòu)體變量占用的內(nèi)存空間是其成員所占內(nèi)存之和,因此其成員所占內(nèi)存之和,因此per 占 用 的 內(nèi)

6、 存 空 間 為占 用 的 內(nèi) 存 空 間 為20+1+4+4=27個字節(jié)。結(jié)構(gòu)體個字節(jié)。結(jié)構(gòu)體變量中的各成員在內(nèi)存中按定變量中的各成員在內(nèi)存中按定義的順序依次排列。義的順序依次排列。 注意:注意:定義變量時,定義變量時,struct person必須在一起使用必須在一起使用,它的,它的用法與用法與int、char等類型名的用等類型名的用法相同。法相同。成員名成員名所占空間所占空間(字節(jié)數(shù))(字節(jié)數(shù))nameheightagesex20144結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型變量二、結(jié)構(gòu)體變量的引用二、結(jié)構(gòu)體變量的引用(1)對結(jié)構(gòu)體變量中成員的引用)對結(jié)構(gòu)體變量中成員的引用 引用的一般形式為:引用

7、的一般形式為:結(jié)構(gòu)體變量名結(jié)構(gòu)體變量名.成員名成員名結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體類型變量(1)對結(jié)構(gòu)體變)對結(jié)構(gòu)體變量中成員的引用量中成員的引用#include struct person char name20; char sex; struct data int year; int month; int day; ; float height; ;void main() person per; data birthday;printf(Enter the name: );gets(); per.sex=M;per.birthday.year=1982;per.birthday

8、.year+;per.birthday.month=12;per.birthday.day=15;per.height=(175+176)/2;printf(%s%3c%4d/%2d/%d%7.1fn,,per.sex, p e r . b i r t h d a y . m o n t h , p e r . b i r t h d a y . d a y , per.birthday.year, per.height);結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體數(shù)組 一、結(jié)構(gòu)體數(shù)組的定義一、結(jié)構(gòu)體數(shù)組的定義 定義結(jié)構(gòu)體數(shù)組的方法和定義結(jié)構(gòu)體數(shù)組的方法和定義結(jié)構(gòu)體變量的方法一定義結(jié)構(gòu)體變量的

9、方法一樣,只是必須說明其為數(shù)樣,只是必須說明其為數(shù)組。例如:組。例如:struct person char name20; char sex; int age; float height; ; struct person per3;成員名成員名sexnameageheightsexnameageheightsexnameageheight數(shù)組元素數(shù)組元素per0per1per2結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體數(shù)組 一、結(jié)構(gòu)體數(shù)組的定義一、結(jié)構(gòu)體數(shù)組的定義 定義結(jié)構(gòu)體變量的三種方法都定義結(jié)構(gòu)體變量的三種方法都可以用來定義結(jié)構(gòu)體數(shù)組。例可以用來定義結(jié)構(gòu)體數(shù)組。例如:如:struct person cha

10、r name20; char sex; int age; float height; per3;struct char name20; char sex; int age; float height; per3;結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體數(shù)組二、結(jié)構(gòu)體數(shù)組的初始化二、結(jié)構(gòu)體數(shù)組的初始化 和一般數(shù)組一樣,結(jié)構(gòu)體數(shù)組也可以進(jìn)行初始化。和一般數(shù)組一樣,結(jié)構(gòu)體數(shù)組也可以進(jìn)行初始化。struct person char name20; char sex; int age; float height; per3= LiPing,M,20,175,WangLing,W,19,162.5, Zhao Hui,

11、M,20,178; 數(shù)組每個元素的初值都放在一對大括號中,括號中依次排列數(shù)組每個元素的初值都放在一對大括號中,括號中依次排列元素各成員的初始值。元素各成員的初始值。 與一般數(shù)組的初始化一樣,如果給出了全部元素的初值,則與一般數(shù)組的初始化一樣,如果給出了全部元素的初值,則數(shù)組的長度可以不指定,由系統(tǒng)根據(jù)初值的數(shù)目來確定數(shù)組數(shù)組的長度可以不指定,由系統(tǒng)根據(jù)初值的數(shù)目來確定數(shù)組長度。長度。結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體數(shù)組三、結(jié)構(gòu)體數(shù)組的引用三、結(jié)構(gòu)體數(shù)組的引用 對結(jié)構(gòu)體數(shù)組的引用一般是對數(shù)組元素的成員進(jìn)對結(jié)構(gòu)體數(shù)組的引用一般是對數(shù)組元素的成員進(jìn)行引用。引用只要遵循對行引用。引用只要遵循對數(shù)組元素的引用

12、規(guī)則數(shù)組元素的引用規(guī)則和和對對結(jié)構(gòu)體變量成員的引用規(guī)則結(jié)構(gòu)體變量成員的引用規(guī)則即可。即可。 程序功能:輸出結(jié)構(gòu)體數(shù)組各元素的成員值程序功能:輸出結(jié)構(gòu)體數(shù)組各元素的成員值void main()struct person char name20; char sex; int age; float height; per3= Li Ping,M,20,175, Wang Ling,F,19,162.5,Zhao Hui,M,20,178;int i;for(i=0;i成員名 p-ID 結(jié)構(gòu)體指針運(yùn)算符“-” 結(jié)構(gòu)體指針-結(jié)構(gòu)體成員 結(jié)構(gòu)體、聯(lián)合體、枚舉struct personstruct pers

13、on char name10 char name10; int ageint age; ; struct person struct person * *p p,s s,boy3=boy3=”Zhang”, 18,”Wang”,20,”Li”,17;p=boyp=boy;對于已定義的結(jié)構(gòu)體數(shù)組,若用一個變量來存放該結(jié)構(gòu)體數(shù)組在內(nèi)存中的首地址,則該變量為指向結(jié)構(gòu)體數(shù)組的指針變量。例如,定義結(jié)構(gòu)體類型person和結(jié)構(gòu)體指針變量p。定義了結(jié)構(gòu)體數(shù)組boy和結(jié)構(gòu)體指針變量p,且p指向數(shù)組boy的首地址。 結(jié)構(gòu)體、聯(lián)合體、枚舉結(jié)構(gòu)體變量的首地址就是其指針,用取地址符得到指向結(jié)構(gòu)體變量的指針變量稱為結(jié)構(gòu)

14、變量的指針變量指向結(jié)構(gòu)體變量的指針在使用時同樣必須要先定義,再賦值,然后才可以使用如果有指針p 指向結(jié)構(gòu)變量a,則 a.math 等價于 (*p).math 等價于 p-math使用指向結(jié)構(gòu)數(shù)組的指針變量引用結(jié)構(gòu)數(shù)組成員時,同指針指向數(shù)組時是類似的要明確指針當(dāng)前指向的數(shù)組元素,同時要考慮結(jié)構(gòu)體成員的引用方法結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體一、聯(lián)合體類型及其變量的定義一、聯(lián)合體類型及其變量的定義 聯(lián)合體類型定義的一般形式為:聯(lián)合體類型定義的一般形式為: union 聯(lián)合體名聯(lián)合體名 類型名類型名1 成員名成員名1; 類型名類型名n 成員名成員名n; ; union是聯(lián)合體類型的標(biāo)志。聯(lián)合體名是由是聯(lián)合

15、體類型的標(biāo)志。聯(lián)合體名是由用戶定義的標(biāo)識符,它規(guī)定了所定義的聯(lián)合用戶定義的標(biāo)識符,它規(guī)定了所定義的聯(lián)合體類型的名稱。聯(lián)合體類型也由若干成員組體類型的名稱。聯(lián)合體類型也由若干成員組成。成。結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體一、聯(lián)合體類型及其變量的定義一、聯(lián)合體類型及其變量的定義union score char grade; float point; ; 表示定義了一個聯(lián)合體類型表示定義了一個聯(lián)合體類型union score,它由它由grade和和point兩個成員組成兩個成員組成結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體一、聯(lián)合體類型及其變量的定義一、聯(lián)合體類型及其變量的定義1. 先定義聯(lián)合體類型,再定義變量。例如:先

16、定義聯(lián)合體類型,再定義變量。例如:union score char grade; float point; ;union score s;2. 定義類型的同時定義變量。:定義類型的同時定義變量。:union score char grade; float point; s;3.直接定義聯(lián)合體類型直接定義聯(lián)合體類型變量。變量。union char grade; float point; s;結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體一、聯(lián)合體類型及其變量的定義一、聯(lián)合體類型及其變量的定義 聯(lián)合體類型及其變量的定義在形聯(lián)合體類型及其變量的定義在形式上與結(jié)構(gòu)體很類似。但它們的式上與結(jié)構(gòu)體很類似。但它們的含義是不同的

17、。含義是不同的。結(jié)構(gòu)體變量的每結(jié)構(gòu)體變量的每個成員分別占有獨立的內(nèi)存區(qū)域個成員分別占有獨立的內(nèi)存區(qū)域,因此結(jié)構(gòu)體變量所占的內(nèi)存字節(jié)因此結(jié)構(gòu)體變量所占的內(nèi)存字節(jié)數(shù)是其成員所占內(nèi)存字節(jié)數(shù)之和。數(shù)是其成員所占內(nèi)存字節(jié)數(shù)之和。而聯(lián)合體變量的所有成員共同占而聯(lián)合體變量的所有成員共同占用一段內(nèi)存區(qū)域用一段內(nèi)存區(qū)域,所以聯(lián)合體變,所以聯(lián)合體變量所占字節(jié)數(shù)是其成員中占內(nèi)存量所占字節(jié)數(shù)是其成員中占內(nèi)存空間最大的成員的字節(jié)數(shù)??臻g最大的成員的字節(jié)數(shù)。gradepoint圖圖12.3結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體二、聯(lián)合體變量的引用二、聯(lián)合體變量的引用 聯(lián)合體變量也必須先定義,后使用。不能直聯(lián)合體變量也必須先定義,后使

18、用。不能直接引用聯(lián)合體變量,只能引用聯(lián)合體變量的接引用聯(lián)合體變量,只能引用聯(lián)合體變量的成員。引用的一般形式為:成員。引用的一般形式為:聯(lián)合體變量名聯(lián)合體變量名.成員名成員名 聯(lián)合體變量的每個成員也可以像普通變量一聯(lián)合體變量的每個成員也可以像普通變量一樣進(jìn)行其類型允許的各種操作。樣進(jìn)行其類型允許的各種操作。 注意:注意:由于聯(lián)合體類型采用的是覆蓋技術(shù),由于聯(lián)合體類型采用的是覆蓋技術(shù),因此聯(lián)合體變量中起作用的總是因此聯(lián)合體變量中起作用的總是最后一次存最后一次存放放的成員變量的值。的成員變量的值。結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體二、聯(lián)合體變量的引用二、聯(lián)合體變量的引用 程序功能:引用聯(lián)合體變量的成員程序功

19、能:引用聯(lián)合體變量的成員#include void main() union temp char a; int b; t; t.a=66; t.b=266; /*266=256+10即即266的二進(jìn)制為的二進(jìn)制為1 00001010,所,所以高字節(jié)放以高字節(jié)放1、低字節(jié)放、低字節(jié)放10*/ printf(%x:%d , %x:%dn,&t.a , t.a ,&t.b , t.b);結(jié)構(gòu)體、聯(lián)合體、枚舉變量變量t起始地址起始地址聯(lián)合體xxxxxxxx xxxxxxxx成員變量成員變量a賦值前賦值前 xxxxxxxx成員變量成員變量a賦值后賦值后變量變量t起始地址起始地址 xxxx

20、xxxx成員變量成員變量b賦值前賦值前變量變量t起始地址起始地址 成員變量成員變量b賦值后賦值后變量變量t起始地址起始地址結(jié)構(gòu)體、聯(lián)合體、枚舉聯(lián)合體 聯(lián)合體變量可以作為結(jié)構(gòu)聯(lián)合體變量可以作為結(jié)構(gòu)體變量的成員,結(jié)構(gòu)體變體變量的成員,結(jié)構(gòu)體變量也可以作為聯(lián)合體變量量也可以作為聯(lián)合體變量的成員,并且聯(lián)合體類型的成員,并且聯(lián)合體類型也可以定義數(shù)組。也可以定義數(shù)組。 程序功能:聯(lián)合體變量作程序功能:聯(lián)合體變量作為結(jié)構(gòu)體變量的成員為結(jié)構(gòu)體變量的成員注意:注意:不能對聯(lián)合體變量進(jìn)不能對聯(lián)合體變量進(jìn)行初始化。不能將聯(lián)合體行初始化。不能將聯(lián)合體變量作為函數(shù)參數(shù)和返回變量作為函數(shù)參數(shù)和返回值。值。 struct

21、student char *name; int dept; union score char grade; float point; s; stu2;結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型一、枚舉類型及其變量的定義一、枚舉類型及其變量的定義 枚舉類型定義的一般形式為:枚舉類型定義的一般形式為: enum 枚舉名枚舉名 枚舉元素枚舉元素1,枚舉元素,枚舉元素2,; enum是枚舉類型的標(biāo)志。枚舉名是由用戶是枚舉類型的標(biāo)志。枚舉名是由用戶定義的標(biāo)識符,它規(guī)定了所定義的枚舉類型定義的標(biāo)識符,它規(guī)定了所定義的枚舉類型的名稱的名稱,例如:例如: enum season spring, summer, autumn

22、, winter; 表示定義了一個枚舉類型表示定義了一個枚舉類型enum season,它包含四個枚舉元素。它包含四個枚舉元素。結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型一、枚舉類型及其變量的定義一、枚舉類型及其變量的定義 定義了枚舉類型后,就可以用它定義枚舉類型定義了枚舉類型后,就可以用它定義枚舉類型變量。枚舉類型變量的定義有兩種方法。變量。枚舉類型變量的定義有兩種方法。1. 先定義枚舉類型,再定義變量。例如:先定義枚舉類型,再定義變量。例如: enum season spring, summer, autumn, winter ; enum season s; 表示定義了一個表示定義了一個enum se

23、ason枚舉類型和屬于枚舉類型和屬于該類型的變量該類型的變量s。2. 直接定義枚舉變量。例如:直接定義枚舉變量。例如:enum spring, summer, autumn, winter s;結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型一、枚舉類型及其變量的定義說明一、枚舉類型及其變量的定義說明(1)枚舉類型中的枚舉元素是用戶定義的標(biāo)識)枚舉類型中的枚舉元素是用戶定義的標(biāo)識符,對程序來說,這些標(biāo)識符并不自動代表符,對程序來說,這些標(biāo)識符并不自動代表什么含義。例如,寫成什么含義。例如,寫成spring并不自動表示并不自動表示為為“春季春季”,寫成,寫成spr也可以。也可以。(2)在)在C 編譯中,將枚舉元素作

24、為常量處理,編譯中,將枚舉元素作為常量處理,稱為枚舉常量。因此不能對它們進(jìn)行賦值。稱為枚舉常量。因此不能對它們進(jìn)行賦值。例如:例如: spring=0; winter=1;是不合法的。是不合法的。 結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型一、枚舉類型及其變量的定義說明一、枚舉類型及其變量的定義說明(3)枚舉元素是被處理成一個整型常量的,它的值?。┟杜e元素是被處理成一個整型常量的,它的值取決于定義時各枚舉元素決于定義時各枚舉元素排列的先后順序排列的先后順序。第一個枚舉。第一個枚舉元素的值為元素的值為0,第二個為,第二個為1,依次順序加,依次順序加1。 例如,在以上的定義中,例如,在以上的定義中,spring

25、的值為的值為0,summer的值為的值為1,autumn的值為的值為2,winter的值則為的值則為3。 也可以也可以在定義時改變枚舉元素的值在定義時改變枚舉元素的值。例如:。例如: enum spring=1, summer, autumn, winter=0 s; 沒有指定值的枚舉元素,其值為前一元素值加沒有指定值的枚舉元素,其值為前一元素值加1。因。因此,此,spring的值為的值為1,summer的值為的值為2,autumn的值的值為為3,而,而winter的值為的值為0。結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型二、枚舉類型變量的基本操作二、枚舉類型變量的基本操作1. 枚舉變量的賦值枚舉變量的賦值

26、 只能給枚舉變量賦枚舉常量。不能直接給枚舉變量賦只能給枚舉變量賦枚舉常量。不能直接給枚舉變量賦整型值,但是可以通過將整型值強(qiáng)制類型轉(zhuǎn)換成枚舉整型值,但是可以通過將整型值強(qiáng)制類型轉(zhuǎn)換成枚舉類型賦值。類型賦值。 程序功能:為枚舉類型變量賦值程序功能:為枚舉類型變量賦值void main() enum season spring, summer, autumn, winter s1,s2 ; s1=summer; s2=(enum season)2; printf(s1=%d,s2=%dn,s1,s2); 結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型二、枚舉類型變量的基本操作二、枚舉類型變量的基本操作2.枚舉元素的

27、判斷比較枚舉元素的判斷比較void main() enum season spring=1, summer, autumn, winter s ; for (s=spring;s=winter;s+) printf(%d ,s); 結(jié)構(gòu)體、聯(lián)合體、枚舉枚舉類型二、枚舉類型變量的基本操作二、枚舉類型變量的基本操作3. 枚舉變量只能通過賦值語句得到值,枚舉變量只能通過賦值語句得到值,不能通過輸入不能通過輸入語句直接輸入數(shù)據(jù)。也不能使用輸出語句直接輸出語句直接輸入數(shù)據(jù)。也不能使用輸出語句直接輸出枚舉元素枚舉元素,可以通過,可以通過switch語句將枚舉元素以字符語句將枚舉元素以字符串形式輸出。串形式

28、輸出。 switch(s) case spring: printf(springn); break; case summer: printf(summern); break; case autumn: printf(autumnn); break; case winter: printf(wintern); break; 結(jié)構(gòu)體、聯(lián)合體、枚舉類型定義typedef 定義新類型名的一般形式是: typedef 類型名 標(biāo)識符 使用typedef語句不是創(chuàng)造新類型,而是為已經(jīng)存在的類型增加了一個名字。例如: struct person char name20; char sex; int age; ; typedef struct person PERSON; PERSON per3;用途:可以增加程序的可讀性結(jié)構(gòu)體、聯(lián)合體、枚舉/*- 程序功能:統(tǒng)計學(xué)生人數(shù) 計算平均成績 -*/ #include void main() struct student char name20; char sex; int score; ; struct student stu5; int i,m_num=0,f_num=0; float average,sum=0; for(i=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論