错误:一元'*'的无效类型参数(有'int')

时间:2013-12-18 11:27:03

标签: c pointers struct

  

错误:一元'*'的无效类型参数(有'int')

struct test_t {
    int var1[5];
    int var2[10];
    int var3[15];
}

test_t* test;
test->var1[0] = 5;

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

你应该写:

struct test_t* test;

如果您想在每次声明该类型的变量时避免编写struct,请使用typedef

typedef struct test_t {
    int var1[5];
    int var2[10];
    int var3[15];
} test_t;

test_t* test;

旁注:在C ++中,结构名称放在常规名称空间中,因此在声明该类型的变量之前无需编写struct

答案 1 :(得分:0)

当您声明结构变量时,struct关键字应该像

那样
struct test_t* test;

如果您每次声明变量时都不想使用struct关键字,只需使用typedef