我碰到下面的函數聲明,我不能夠理解它究竟是如何工作的: 功能在文件中聲明如下:理解的typedef
struct newtype {
/* some definition */
};
typedef void function1 (int* a, newtype* p);
然後在其他C以上聲明代碼用於聲明另一個函數2如下:
function1 function2;
void function2(int* a, newtype* p)
{
/* function definition */
}
然後函數2的使用如下:
int function3 (int, char, function1*);
/* definition */
function3(int a, char c, function2)
{
/* function definition */
}
我無法理解聲明: function1 function2; 和typedef void function1(arguments)意味着什麼,因爲function1沒有聲明爲指針。任何人都可以解釋這裏發生了什麼?
我無法獲得此代碼來編譯... – 2012-08-09 17:21:20
[此typedef是什麼意思?函數原型?](http://stackoverflow.com/questions/3674200/what-does-this-typedef-mean-a-function-prototype) – jamesdlin 2012-08-09 19:13:26