闲来无事,写了段代码,编译下,有错误
struct person
{int ID;
char name[10];
char sex[2];
int old;
char depart[10];
char add[20];
float money;
char education[3];
};
struct person *everyone;
everyone=(struct person*)malloc(200*sizeof(struct person));
错误:
缺少类型标示符?
后来明白: 在全局空间(即函数体之外)只能执行数据类型、变量、函数等的定义及变量的初始化,其他任何操作都不被允许。
everyone=(struct person*)malloc(200*sizeof(struct person));//这种写法是变量赋值。不允许出现在全局空间中。而编译器会把它当做变量定义来处理,于是会报告缺少 //类型标识符