typedef作为C的关键字,有着类似起别名的作用,不过它是给数据类型起别名,比如int、string、char、int * 等等。
1、格式如下
typedef old_str new_str
用new_str 替代 old_str类型
需要注意的是,typedef定义的类型具有作用域的问题,在函数中定义,就自能在函数中使用,如果是在函数外定义,则是全局的
2、常规数据类型定义
typedef int _int;
这样的话 _int i 就代表着 int i
3、数组类型定义
typedef int arr[5];
这样的话
arr data={1,2,3,4,5} 就相当于 int data[5] = {1,2,3,4,5}
4、指针类型定义
typedef int * fu;
这样的话 fu data 就相当于 int * fu
typedef int * fu[5]
这样的话 fu data 就相当于 int * data[5]
5、函数声明
typedef int fu(void)
这样的话 fu get_value 就相当于 int get_value(void)
fu * get_age 就相当于 int (*get_value)(void)
6、函数指针声明
typedef int (*fu)(void)
这样的话 fu get_name 就相当于 int (*get_name)(void)
7、结构体定义
struct link{
int data;
struct link *next;
}
使用typedef可以这样定义
typedef struct link fu;
struct link{
int data;
fu *next;
};
typedef struct Student{ //Student 可有可无
char name[20];//姓名
int age;//年龄
float height;//身高
}Stu; //Stu 为类型名
Stu stu; //Stu 为类型名,stu 为结构体变量
以上就是typedef使用的方法
网友评论