C结构体向前声明一种用法

      有时候定义一种结构体变量时,函数指针成员 ,如果想要所指向的函数的形参却是本结构体,这该如何去实现?

 举例:

typedef struct

{

int  value;

void  (*pCallbackFuntion)(Struct_T * strct);

}Struct_T;


void main(void)

{

 Struct_T tem;

}

编译时会出错 error:  #20: identifier "Struct_T" is undefined. 

解决办法是结构作向前声明。

修改如下:

typedef struct TemStruct Struct_T;
typedef struct TemStruct
{
int  value;
void  (*pCallbackFuntion)(Struct_T * strct);

}Struct_T;

即可。

你可能感兴趣的:(嵌入式开发)