与#define的区别
- 与#define不同,typedef给出的符号名称仅限于对类型,而不是对值。
- typedef的解释由编译器,而不是预处理器执行。
- 虽然它的范围有限,但是在其受限范围内,typedef比#define更加灵活。
主要用法
- 定义数据类型
typedef unsigned char u8;
- 定义结构体类型
typedef struct complex{
float real;
float imag;
}COMPLEX;
COMPLEX complex_1; /*COMPLEX 是一种结构体数据类型*/
- 定义函数指针
//定义一个函数指针,函数的入参是a和b,返回值是整型的,并且定义了一个func_pointer型的指针
typedef int (*func_pointer)(int a,int b);
——————
2019.07.07
18:51
本文详细解析了C语言中typedef与#define的区别,强调typedef用于类型定义,更灵活且由编译器处理,而#define为宏定义,作用于值而非类型。文中通过实例展示了typedef在定义数据类型、结构体及函数指针的应用。
589

被折叠的 条评论
为什么被折叠?



