如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C语言typedef的使用C语言typedef的使用typedef关键字能帮助你简化复杂的定义并让你的代码简洁可靠,当然,可靠这一点我还是持保留态度,因人而异吧。具体是如何使用呢?以下仅供参考!具体方法如下:C语言提供typedef关键字,允许你为已经存在的类型起一个新的名字,有一点需要注意,typedef仅仅是为已经存在的类型创建了一个新的名字而已,不是创建新的类型。首先将typedef关键字放在前面,接着是已经存在的类型名,接着是新的名字:typedefexisting_typenew_name;举个例子,如果你想为unsingedinteger创建一个新的名叫score的类型,你仅需要使用这样使用typedef:typedefunsignedintscore;后面你就可以使用“新类型”score来声明变量,例如:scorehigh_score;当然你还可以同时定义多个变量typedefintaaa,bbb,ccc;typedefintar[15],arr[9][6];typedefcharc,*cp,carr[100];/*下面定义一些对象*//*都是int*/aaaint1;bbbint2;cccint3;aryyy;/*容量为15的整型数组*/arrxxx;/*9*6阶的整型数组*/cch;/*一个字符*/cppnt;/*指向字符的指针*/carrchry;/*容量为100的字符数组*/C语言typedef的使用这里来看一下使用typedef的好处,假如有一天你想将unsignedint修改成更大的数据类型,比如unsignedlong,而此时你的很多代码文件都使用了unsignedint,如果没有使用typedef,你得到处都修改一遍,十分麻烦。如果使用了之前的定义,这时只需修改score一处就行,是不是很方便?另一个使用typedef来增强可靠性的例子是size_t,size_t是sizeof操作符指定类型的大小,其基于目标处理器的运算能力而不是内存能力。只要你的程序包含stddef.h库,你将获得平台上的任何对象的准确大小。接下来举一些typedef在函数指针、结构体、枚举等中的应用使用typedef作用于结构体:为了定义一个复杂的数据,定义一个如下的结构体:structcomplex{floatreal;floatimag;};structcomplexa,b;如果不使用typedef,你必须在每一个变量声明的地方使用struct关键字,然而,如果你使用了tpedef定义complex类型的数,你只需要使用complexnumber,youcanomitthestructkeywordwheneveryoudeclareanewvariable.因此使用typedef可以帮助你简化变量的定义。typedefstruct{floatreal;floatimag;}complex;complexa,b;使用typedef作用于联合体:假如你将用户名和密码来登录,这时定义一个account结构体,其中包含account_name联合体:typedefunion{char*username;char*email;}account_name;typedefstruct{account_namename;char*password;}account;accountuser1,user2;使用typedef作用于枚举:下面的例子描述了怎样使用typedef定义一个枚举:typedefenum{red,green,blue}RGB;RGBcolor;如果你不使用typedef,每次定义变量的时候都要加上enum关键字:enumRGB{red,green,blue};enumRGBcolor;使用typedef作用于函数指针:一个函数指针是指向一个函数的指针,你可以使用typedef来给一个函数指针取一个简单的名字,看下面的`例子:typedefint(*sorter)(void*a,size_tsize);sorterquicksort,bubblesort;上面定义了一个名为sorter的函数指针来作为一个新的类型名称,接着使用它来定义名为quicksort和bubblesort的函数指针。下面总结一下typedef的用途:1、与#define的区别typedef行为有点像#define宏,用其实际类型替代同义字。不同点是typedef在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。2、减少错误定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char*pa,pb;//它只声明了一个指向字符变量的指针,和一个字符变量;下面的符合我们的预期typedefchar*PCHAR;