概念 在C语言中,typedef是一个关键字,用于为已有的数据类型定义一个新的别名。它本身并不创建新的数据类型,而是给现有的类型赋予一个更方便、更易理解或更符合项目特定需求的名字。 基本用法 基本数据类型别名 例如,为unsigned int定义一个新的别名uint: typedef unsigned int uint; 之后就可以使用uint来代
typedef int INT;typedef (int*) pINT;typedef unsigned int uint32_t typedef 可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 #define的用法 #define 为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表...
typedef int INT;typedef unsigned int INT;typedef integer MYINT;编译器在编译阶段,会告诉我们INT被重复定义,也会告诉我们integer类型不存在。而define则没有,只是简单替换。比如:#define INT int#sdefine INT unsigned int#define MYINT integer#define FLOAT int 在编译之前,预处理阶段,就会进行替换动作,只是...
typedef (int*) pINT; typedef unsigned int uint32_t typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 #define的用法 #define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前...
typedef unsigned charUINT8;typedef unsigned shortUINT16;typedef unsigned intUINT32;typedef signed charINT8;typedef signed shortINT16;typedef signed intINT32;typedef floatFLOAT;typedef doubleDOUBLE;typedef charCHAR; 第二种:就是我们在stm32里面结构体定义的时候经常会看到(标准库操作): ...
typedefunsignedint COUNT; 而且,我们还可以使用这种方法来定义与平台无关的类型。比如,要定义一个叫 REAL 的浮点类型,在目标平台一上,让它表示最高精度的类型,即: typedeflongdouble REAL; 在不支持 long double 的平台二上,改为: typedefdouble REAL; ...
1typedefunsignedcharUINT8; 2 3typedefunsignedshortUINT16; 4typedefunsignedintUINT32; 5 6typedefsignedcharINT8; 7typedefsignedshortINT16; 8 9typedefsignedintINT32; 10 11typedeffloatFLOAT; 12 13typedefdoubleDOUBLE; 14 15typedefcharCHAR; 第二种:就是我们在stm32里面结构体定义的时候经常会看到(标准库...
int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else:条件语句否定分支(与 if 连用) long:声明长整型变量或函数 switch:用于开关语句 case:开关语句分支 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) ...
关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能。 #define 则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。 【例1.1】typedef 会做相应的类型检查: typedef unsigned int UINT; ...
typedef unsigned int UINT;新类型名UINT定义之后就可以使用它来定义变量,定义代码如下:UINT a,b,c;2) 代码中的类型与平台无关 由于C语言代码有较强的移植性,通过代码移植,可以使其运行在不同的硬件平台上,使用typedef就可以定义与平台无关的类型。假如用户的程序代码用到了浮点类型,不同平台支持的最高...