结构未定义为类型

时间:2017-08-14 13:24:50

标签: c

struct test {
  int id_number;
  int age;
};

test *tester() {
    struct test *test1 = malloc(sizeof(test));
    test1->id_number = 10;
    test1->age = 1;
    return test1;
}

int main()
{
    test *tester = function();
    printf("%d %d \n",tester->id_number tester->age );
}

所以我试图用malloc()和结构进行一些测试,但是当我尝试运行我的测试器代码时,我得到一个错误,说明未知的类型测试,但是我正在定义结构测试。

2 个答案:

答案 0 :(得分:0)

引用 ArrayList<ArrayList<abc>> set1 = new ArrayList<>(); 类型时,您需要使用struct关键字:

struct

如果您希望能够将struct test *tester() { ... } 用作类型,则需要test

typedef

答案 1 :(得分:0)

除非您添加struct test

,否则该类型称为typedef
typedef struct test test;

你可以将两者结合起来,这很常见:

typedef struct {
  int id_number;
 int age;
} test;

这很常见;请注意,“struct tag”可以省略。