这个类型定义 typedef void (*int_handler) () 是啥意思?

2024-12-25 12:38:06
推荐回答(4个)
回答1:

①void int_handler(); ---普通的函数声明

②void (*int_handler)(); ---函数指针的声明 ,即声明了一个函数指针,此函数是没有返回值和形参的函数,即①中的函数。

③typedef void (*int_handler)(); ---用typedef定义一种函数指针的类型,也就是说这里的int_handler 就代表了②中的函数指针类型。
可以这么用:
typedef void (*int_handler)();
int_handler phandler; -----此处的phandler就和②中的int_handler是一样的。

回答2:

typedef void (*int_handler) ()
定义了一个指向 void funName() 这一类型函数的指针类型。
假如你有一个函数的定义如下
void paint()
{
printf("function paint\n");
}
你可以做下面的操作
int_handler pHandle = &paint;//声明了一个函数指针,并赋值
(*pHandle )();//通过指针调用函数 paint
paint();//直接调用函数 paint

回答3:

typedef kkk xxx 这里意思就是xxx代表kkk
typedef void (*int_handler) () 这里void (*) () 等同于kkk,int_handler等同于xxx
你的明白?

回答4:

自定义的函数指针类型