typedef两种使用
1 数据类型定义别名
typedef unsigned char BYTE;
BYTE = unsigned char
2 函数指针类型的声明:
用于规范一类函数格式
typedef int (*fun_ptr)(int,int); // =typedef int (*fun_ptr)(int,int) fun_ptr;
示例1:函数指针使用typedef
// 定义函数指针类型
typedef void (*init_fn_t)(void);
// 具体的函数,符合函数指针类型的要求
void my_init_function(void) {
printf("Initializing...\n");
}
int main() {
init_fn_t init_function_ptr = my_init_function;
(*init_function_ptr)();
return 0;
}
示例2:函数指针不使用typedef
void my_init_function(void) {
printf("Initializing...\n");
}
int main() {
int (*init_fn_t)(void) = &my_init_function;
init_fn_t();
return 0;
}