我尝试制作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 ...
,它会起作用,但如果我真的想让结构声明变为静态,我该怎么办?
由于
答案 0 :(得分:3)
您可以将变量声明为静态。
static MyStruct ms[5];
我通常这样做,
typedef struct{
int foo;
} MyStruct;
static MyStruct myStruct[5];