取消引用指向不完整类型C的指针

取消引用指向不完整类型C的指针,c,C,嗯,我遇到了这个错误,在尝试访问字段时无法识别 在我的bnum.c中,我有我的结构声明: #include "bnum.h" struct num { char *vet; int tam; }; 在我的bnum.h中,我有: typedef struct num *b_num; 在主文件中,我有: #include"bnum.h" int main(void){ b_num b; b->tam

嗯,我遇到了这个错误,在尝试访问字段时无法识别

在我的bnum.c中,我有我的结构声明:

    #include "bnum.h"

    struct num {
      char *vet;
      int tam;
    };
在我的bnum.h中,我有:

    typedef struct num *b_num;
在主文件中,我有:

    #include"bnum.h"
    int main(void){
    b_num b;
    b->tam = 5;

我正在Linux Mint上使用gcc。

主文件无法访问结构定义,因此出现错误。你应该移动定义

  struct num {
     char *vet;
     int tam;
  };

从.c到.h.

主文件无法访问结构定义,因此出现错误。你应该移动定义

  struct num {
     char *vet;
     int tam;
  };

从.c到.h.

这不是一个很好的组织代码。 结构声明应该在头文件中,这样任何包含头文件的src文件都将被删除
熟悉该结构。

这不是一个很好的组织代码。 结构声明应该在头文件中,这样任何包含头文件的src文件都将被删除
熟悉该结构。

最后一条引用的主线。最后一条引用的主线。+1。沃思还指出,代码将在运行时失败,试图取消对未初始化指针的引用。+1。沃思还指出,代码将在运行时失败,试图取消对未初始化指针的引用。