【发布时间】:2012-08-10 02:39:46
【问题描述】:
我遇到了以下函数声明,但我无法理解它是如何工作的: 该函数在文件中声明如下:
struct newtype {
/* some definition */
};
typedef void function1 (int* a, newtype* p);
然后在上面的另一个C代码中声明用于声明另一个function2如下:
function1 function2;
void function2(int* a, newtype* p)
{
/* function definition */
}
那么function2的使用如下:
int function3 (int, char, function1* );
/* definition */
function3(int a, char c, function2 )
{
/* function definition */
}
我无法理解以下陈述: 功能1功能2; typedef void function1 (arguments) 是什么意思,因为 function1 没有声明为指针。谁能解释这里发生了什么?
【问题讨论】:
-
我无法编译这段代码...