C语言程序设计课件-第8章 结构体(三)--共用体.ppt
for(loop=1;loop=3;loop++){switch(loop) {case1:pri=i;break;case2:pri=j;break;case3:pri=k;break;default:break; }switch(pri) {casered:printf(“%-10s”,“red”);break;caseyellow:printf(%-10s,yellow);break;caseblue:printf(“%-10s”,“blue”);break;casewhite:printf(“%-10s”,“white”);break;caseblack:printf(%-10s,black);break;}}printf(\n); } }printf(\ntotal:%5d\n,n);return0;}8.6用typedef声明新类型名1.简单地用一个新的类型名代替原有的类型名typedefintInteger;typedeffloatReal;inti,j;floata,b;Integeri,j;Reala,b;等价8.6用typedef声明新类型名2.命名一个简单的类型名代替复杂的类型表示方法(1)命名一个新的类型名代表结构体类型:typedefstruct{intmonth;intday;intyear;}Date;Datebirthday;Date*p;8.6用typedef声明新类型名2.命名一个简单的类型名代替复杂的类型表示方法(2)命名一个新的类型名代表数组类型typedefintNum[100];Numa;8.7用typedef声明新类型名2.命名一个简单的类型名代替复杂的类型表示方法(3)命名一个新的类型名代表一个指针类型typedefchar*String;Stringp,s[10];8.6用typedef声明新类型名2.命名一个简单的类型名代替复杂的类型表示方法(4)命名一个新的类型名代表指向函数的指针类型typedefint(*Pointer)();Pointerp1,p2;8.6用typedef声明新类型名归纳起来,声明一个新的类型名的方法是①先按定义变量的方法写出定义体(inti;)②将变量名换成新类型名(将i换成Count)③在最前面加typedef(typedefintCount)④用新类型名去定义变量8.6用typedef声明新类型名以定义上述的数组类型为例来说明:①先按定义数组变量形式书写:inta[100];②将变量名a换成自己命名的类型名:intNum[100];③在前面加上typedef,得到typedefintNum[100];用来定义变量:Numa;相当于定义了:inta[100];8.6用typedef声明新类型名对字符指针类型,也是:char*p;char*String;typedefchar*String;Stringp;8.6用typedef声明新类型名说明:(1)以上的方法实际上是为特定的类型指定了一个同义字(synonyms)。例如①typedefintNum[100];Numa;Num是int[100]的同义词②typedefint(*Pointer)();Pointerp1;Pointer是int(*)()的同义词8.6用typedef声明新类型名说明:(2)用typedef只是对已经存在的类