请教关于结构体数组的引用出错

来源:互联网 发布:windows用户管理命令 编辑:程序博客网 时间:2024/05/17 03:20


定义结构体数组
var.c:
struct StructDisData
{
unsigned int AddrDisData;
unsigned int TypeDisChar;
unsigned int TypeDisUnit;
unsigned char LengthDisData;
};

const struct StructDisData StrDisData[254]={.....};

var.h:
const extern struct StructDisData StrDisData[254];

在Lunxian.c中引用:
#include "var.h"

unsigned int vAdd;
void Sub1(void)
{
unsigned int disptr;
disptr =...;
vAdd =StrDisData[disptr].AddrDisData; //编译时在此处出错 Error[Pe852]: expression must be a pointer to a complete object type

}


解决方法:
将结构定义
struct StructDisData
{
unsigned int AddrDisData;
unsigned int TypeDisChar;
unsigned int TypeDisUnit;
unsigned char LengthDisData;
};
放到头文件中,即.h文件中
0 0
原创粉丝点击