extern不能用于声明 数据类型,只能用来声明函数或者具体的变量
- 下列代码编译报错
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
extern struct mm;
int main(int argc, char** argv)
{
struct mm a =
{
.a = 6,
.b = 36,
};
return 0;
}
struct mm
{
int a;
char b;
};
因此类型的定义最好放在最前面
- 编译通过
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct mm
{
int a;
char b;
};
int main(int argc, char** argv)
{
struct mm a =
{
.a = 6,
.b = 36,
};
return 0;
}