class 7 结构.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
class 7 结构

複習 char name1[20]; //長度為20的字串 char name2[20]; //讀取字串 gets(name1); fflush(stdin); scanf(“%d”,name2); //列印 puts(name1); //會自動加上換行 printf(“%s\n”,name2); 複習 //處理字串的函數 If(!strcmp(name1,name2)){ //name1和name2一樣時會執行 } strcat(name1,name2);//將name2接在name1 //的後面 strcpy(name1,name2); //將name2的內容 //copy到name1 複習 char ch; //讀取字元 ch=getchar(); ch=getch(); scanf(“%c”,ch); //印出字元 putchar(ch); putch(ch); printf(“%c”,ch); 複習 If(isalpha(ch)){ //ch是英文字母會執行 } If(isdigit(ch)){ //ch是0~9會執行 } If(isupper(ch)){ //ch是英文大寫字母會執行 } If(islower(ch)){ //ch是英文小寫字母會執行 } Class 7 結構 想一想 如果今天我們是公司負責人力資源的部門,老闆可能要求要處理20個員工的資料,資料的內容包括員工姓名、性別與薪資,在程式語言中應該要如何定義呢? char employee[20][10], employee_gender[20]; int employee_salary[20]; 如果每一個員工有更多的資料項目,怎麼辦? 結構 像這樣彼此之間有較密切相關性的資料,C語言提供了struct這種衍生的資料型態 和陣列不同處:可以用來結合不同資料型態的元素 範例 struct employee_data_type //定義結構部份 { char name[10], gender; int salary; }; //注意這裡要加分號 struct employee_data_type employee; //employee才是個變數 結構定義 struct structure_tag // structure_tag 是個結構的名字 { data members declarations; }; //註: structure_tag, member_name, variable_name 可以是相同的 struct myType{ int myType; }myType; 變數宣告 直接寫在定義結構的時候 可以是省略結構定義的structure_tag struct student_type student[10]; struct student_type { int id, class; }student1[10]; struct { int id, class; }student2[10]; 像平常宣告變數的情況 struct employee_data_type employee; 初始化 struct employee_data_type employee={Yang,M,20000}; //初始化 注意:要按照結構定義中成員的宣告順序來給值(由上到下,由左至右) 結構的運算 關於結構合法的運算有下列四種: 指定結構變數給另一個相同型態的結構變數 (=) 取得結構變數的位址 () 存取結構的成員 (.) 與 (-) 使用sizeof()來得到結構變數的大小 結構的取用方式 結構成員運算子(.) //variable.member_name; printf(The employees name is %s.\n,employee.name); printf(The employees salary is %d.\n,employee.salary); 結構指標成員運算子(-) 如果取用的是一個結構指標變數,可以使用(-)運算子。 struct employee_data_type *ptr_employee=employee; printf(The employees name is %s.\n, (*ptr_employee).name); printf(The employees name is %s.\n, ptr_employee-name)

文档评论(0)

wujianz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档