C語言結構體與共用體_第1頁
C語言結構體與共用體_第2頁
C語言結構體與共用體_第3頁
C語言結構體與共用體_第4頁
C語言結構體與共用體_第5頁
已閱讀5頁,還剩95頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、100101 Li Fun M 18 87.5 Beijing Num name sex age score addr結構體名類型名成員名student1100101 ZhangXin M 19 90.5 Shanghai100102 WangLi F 20 98 Beijingstudent2 birthday addrNum name sex age Month day yearLi 0Zhang 0Fun 0 name count 定義指針變量p,指向struct student 類型的數據指向的結構體變量中的成員 #include structint num;char name10;c

2、har sex;char job;unionint banji;char position10;category;person2;/*先設人數為2*/void main()int i;for(i=0;i2;i+)scanf(%d %s %c %c, &personi.num, &,&personi.sex, &personi.job);if(personi.job = S)scanf(%d, &personi.category.banji);else if(personi.job = T)scanf(%s, personi.category.position);else

3、 printf(“Input error!”); printf(n);printf(No. name sex job class/positionn);for(i=0;i2;i+)if (personi.job = S)printf(“%-6d%-10s%-3c%-3c%-6dn”,personi.num, , personi.sex, personi.job, personi.category.banji);else printf(“%-6d%-10s%-3c%-3c%-6sn”,personi.num, ,personi.sex, perso

4、ni.job, personi.category.position);運行情況如下:運行情況如下: 枚舉:將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內。申明枚舉類型用enumenum weekdaysun,mon,tue,wed,thu,fri,sat; 定義變量:enum weekday workday,week-day;enumsun,mon,tue,wed,thu,fri,satworkday;變量值只能是sun到sat之一 枚舉元素枚舉常量說明:在編譯中,對枚舉元素按常量處理,故稱枚舉常量。它們不是變量,不能對它們賦值。 (2) 枚舉元素作為常量,它們是有值的,語言編譯按

5、定義時的順序使它們的值為, (3) 枚舉值可以用來作判斷比較。 (4) 一個整數不能直接賦給一個枚舉變量。 例13口袋中有紅、黃、藍、白、黑5種顏色的球若干個。每次從口袋中先后取出個球,問得到3種不同色的球的可能取法,輸出每種排列的情況。 #include main()enum color red,yellow,blue,white,black; enum color i,j,k,pri; int n,loop;n=0; for (i=red;i=black;i+) for (j=red;j=black;j+)if (i!=j) for (k=red;k=black;k+)if (k!=i)

6、& (k!=j)n=n+1;printf(%-4d,n);for (loop=1;loop=3;loop+)switch (loop)case 1: pri=i;break; case 2: pri=j;break; case 3: pri=k;break; default:break; switch (pri)case red:printf(%-10s,red); break;case yellow: printf(%-10s,yellow); break;case blue: printf(%-10s,blue); break;case white: printf(%-10s,white)

7、; break;case black: printf(%-10s,black); break;default :break; printf(n); printf(ntotal:%5dn,n);運行情況如下:運行情況如下:1redyellowblue2redyellowwhite3redyellowblack58blackwhitered59blackwhiteyellow60blackwhiteblue total:60 用typedef聲明新的類型名來代替已有的類型名聲明INTEGER為整型typedef int INTEGER聲明結構類型Typedef struct int month;

8、int day; int year;DATE; 聲明為整型數組類型 ; 聲明為字符指針類型 typedef char *STRING; 聲明POINTER為指向函數的指針類型,該函數返回整型值 typedef int (*POINTER)() 用typedef定義類型的方法 先按定義變量的方法寫出定義體(如:int i)。 將變量名換成新類型名(例如:將i換成COUNT)。 在最前面加 (例如:typedef int COUNT)。 然后可以用新類型名去定義變量。 用typedef定義類型的方法(舉例) 先按定義數組變量形式書寫:int n100; 將變量名換成自己指定的類型名: intNUM0; 在前面加上typedef,得到 typedef int NUM; 用來定義變量:NUM;說明:用typedef可以聲明各種類型名,但不能用來定義變量。(2) 用typedef只是對已經存在的類型增加一個類型名,而沒有創造新的類型。 (3) 當不同源文件中用到同一類型數據時,常用typedef聲明一些數據類型,把它們單獨放在一個文件中,然后在需要用到它們的文件中用#include命令把它們包含進來。(4) 使用typedef有利于程序的通用與移植。說明:(5) typedef與#define有相似之處,例如:typedef int

溫馨提示

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

評論

0/150

提交評論