C中的静态结构声明

时间:2012-12-05 23:43:11

标签: c static

我尝试制作struct声明static(因此它只能在文件中使用):

static typedef struct
{
   int foo;
} MyStruct;

static MyStruct[5];

(这是在test_struct.c中) 当我编译该东西时,我收到了这个错误:

test_struct.c:12: multiple storage classes in declaration of `MyStruct'

我想如果我在static之前移除typedef struct ...,它会起作用,但如果我真的想让结构声明变为静态,我该怎么办?

由于

1 个答案:

答案 0 :(得分:3)

您可以将变量声明为静态

static MyStruct ms[5];

我通常这样做,

typedef struct{
   int foo;
} MyStruct;

static MyStruct   myStruct[5];