array type has incomplete element type 问题及解决

最近在项目中用到一个线性插值查找的例程,定义了一个结构体, 结构体中使用了自身结构体指针。

  struct xxx {

   struct xxx *p;

}

使用该例程时,定义了结构数组, struct xxx AA[100], 在调用程序的头文件作了外部声明  extern struct xxx AA;编译时出现了错误:

extern AA array type has incomplete element type struct....

 百度网上的解决方法,需要把结构体改成 typedef。但 上述结构体中使用了自身结构体的指针,后参考网上博文

《结构体定义中不可以包含自己类型的变量,可以包含自己类型的指针》https://blog.csdn.net/blank_koko/article/details/129390338

 采用了 typedef struct xxx {

        struct xxx *p

    }YYY;

         YYY AA[100] 定义结构数组

        extern YYY AA[] , 头文件说明;

  这样完美的解决了问题。

posted on 2023-05-12 09:39  xihong  阅读(2670)  评论(0编辑  收藏  举报

导航