发布网友 发布时间:2022-04-23 20:46
共4个回答
热心网友 时间:2023-10-09 08:14
有关typedef的叙述不正确的是“typedef和#define都是在预编译时处理的”。
typedef是在编译期间执行解释,#define是在预编译期间执行文本替换。
typedef的用法:
使用typedef定义新类型的方法:在传统的变量声明表达式里用(新的)类型名替换变量名,然后把关键字typedef加在该语句的开头就行了。
扩展资料:
typedef的作用有以下几点:
1、typedef的一个重要用途是定义机器无关的类型。例如,定义一个叫REAL的浮点类型,该浮点类型在目标机器上可以获得最高的精度:typedef long double REAL;
如果在不支持 long double 的机器上运行相关代码,只需要对对应的typedef语句进行修改,例如:typedef double REAL;或者:typedef float REAL。
2、使用typedef为现有类型创建别名,给变量定义一个易于记忆且意义明确的新名字。例如:typedef unsigned int UINT。
3、使用typedef简化一些比较复杂的类型声明,例如:typedef void (*PFunCallBack)(char* pMsg, unsigned int nMsgLen)。
上述声明引入了PFunCallBack类型作为函数指针的同义字,该函数有两个类型分别为char*和unsigned int参数,以及一个类型为int的返回值。通常,当某个函数的参数是一个回调函数时,可能会用到typedef简化声明。
热心网友 时间:2023-10-09 08:15
c不正确。热心网友 时间:2023-10-09 08:15
B——typedef是在编译期间执行解释,#define是在预编译期间执行文本替换热心网友 时间:2023-10-09 08:16
B是不对,#define是在预编译阶段处理的,typedef是在编译阶段处理的