在h文件定义结构体类型struct StuData,如下(记得加逗号)。但是h文件里,不定义结构体变量
struct StuData{
char code[10];
char name[16];
char serial[30];
char password[30];
};
结构体变量stu[20]应该在C文件进行定义,同时C文件要包含h文件(#include "init.h")。然后在h文件对变量进行extern(extern struct StuData stu[20])。[提示:如果在h文件进行定义变量stu[20],然后多个c文件包含这个h文件,会造成重复定义。]
#ifndef __INIT_H
#define __INIT_H
struct StuData{ //结构体类型定义最好在h文件,结构体变量定义最好在C文件
char code[10];
char name[16];
char serial[30];
char password[30];
}; //stu[20] 正常使用时可以在结构体类型声明末尾直接这么定义
struct soundData{
char order[20];
}; //warningNO[10]; 正常使用时可以在结构体类型声明末尾直接这么定义
extern struct StuData stu[20];
extern struct soundData warningNO[10];
#endif
C文件
struct StuData stu[20];
struct soundData warningNO[10];