1、typedef是什么?
从字面理解就是类型定义,那么回忆一下我们之前说过的问题,类型是什么? 占用的字节数以及如何存储数据。
如果说结构体是用户自定义类型的话,那么typedef只是给基本类型的变量起一个别名,使用的时候需要注意两点 :其一是需要被定义的是一种类型,其次,在编译到这个地方时,编译器可以识别出这个类型。
2、为什么要用typedef?
- 在进行跨平台开发时,把不同平台的变量类型,用统一的变量类型来代替是必须的,
- 在定义函数指针时,语法很复杂,也很容易出错,此时,我们就可以定义一个类型来代替这个函数指针,降低了复杂语法的难度。
3、typedef 与 #define 的异同
typedef 定义的是一个类型,这个类型和基本类型一样,编译器是可以进行识别的。
而#define 只是进行简单的宏替换。并且,类似函数指针类型的话,用宏替换实现起来很不直观。