2

我试图做一个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'

我想如果我删除staticbefore typedef struct ...,它会起作用,但是如果我真的想让 struct 声明静态,我该怎么办?

谢谢

4

1 回答 1

3

您可以将变量声明为 static

static MyStruct ms[5];

我一般是这样的

typedef struct{
   int foo;
} MyStruct;

static MyStruct   myStruct[5];
于 2012-12-05T23:46:17.560 回答