请解释以下代码。我是初学者所以请帮助我理解

时间:2013-10-08 14:15:05

标签: c function-pointers typedef

typedef long (*GuiFunc) (int, int, int, unsigned short*, long, long);

请帮助我理解上面的代码行

3 个答案:

答案 0 :(得分:1)

你在这里定义一个新类型。

这里的新类型是一个函数指针。

函数指针有6个输入参数

答案 1 :(得分:1)

你定义了一个类型GuiFunc,它是一个指针(就是那个(*GuiFunc)构造)到一个函数(括号中的东西),需要3 ints ,一个指向unsigned short的指针,两个longs并返回一个长整数。

答案 2 :(得分:1)

typedef long (*GuiFunc) (int, int, int, unsigned short*, long, long);  

定义新类型GuiFunc。它可以声明一个带有6个参数int, int, int, unsigned short*, long, longreturns long的函数指针。

假设你有这样的功能

long foo(int, int, int, unsigned short*, long, long)
{

}

如果您声明

Guifunc callback; //declare a varaible of type Guifunc
callback=foo;

然后你可以像这样long x=callback(6parameters);

调用foo函数