之前对typedef理解不是很深入 不是特别理解ucos中定义这么多乱七八糟的typedef做什么
直到今天又翻了一下书,看到typedef的作用其中有一条是这么写的:
typedef有利于程序的通用与移植,比如有的计算机系统int 是两个字节 而有的int是四个字节 那么如果在程序中 各个地方都使用int ,当需要把int从4字节的计算机 移植到2字节的计算机上时,程序一定会出错,这个时候我们就需要用long来重新定义 之前使用的int ,如将“int a ,b,c”改成“long a,b,c”
现在可以用typedef int Integer;
这样以来程序移植的时候,只需要用typedef long Integer就行了。
自定义的新类型名方式
(1)函数的指针
int (*p)(int,int),那么p可以指向一个函数类型为整型的且有两个整型参数的函数
(2)改变变量名,换成新类型名
typedef int (*L)(); L 是新类型名
(3)L l1,l2; 那么l1 和l2 就是新的变量。可以指向一个函数
int max(inta,int b){…}
如用l1=max;
那么l1的指针变量的值就是max函数的地址,
调用max函数便可以用 a=(*l1)(m,n)来表示了。