结构体变量的extern使用方法,转--

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

结构体变量的extern使⽤⽅法,转--
要求如下,在.h⽂件中这样定义:
typedef struct typFNT_GB16 // 汉字字模数据结构
{
signed char Index[2]; // 汉字内码索引
char Msk[32]; // 点阵码数据
};
struct typFNT_GB16 code GB_16[] = // 数据表
{
0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,
0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,
0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
0x40,0x20,0xF8,0x07,0x00,0xF8,0x02,0x04,
0x08,0x04,0x04,0x04,0x04,0xFE,0x04,0x00,
0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,
0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00
};
同时需要在多个.c⽂件中使⽤该struct, 但是多次include 该.h⽂件提⽰重复定义,应该修改如下:
新建⼀个xx.h和xx.c⽂件
在xx.h⽂件中定义该结构体,同时对结构体变量作extern:
typedef struct typFNT_GB16 // 汉字字模数据结构
{
signed char Index[2]; // 汉字内码索引
char Msk[32]; // 点阵码数据
};
extern struct typFNT_GB16 code GB_16[];
在xx.c⽂件中include该.h⽂件,同时作结构体变量的初始化:
#include "xx.h"
struct typFNT_GB16 code GB_16[] = // 数据表
{
0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,
0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,
0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
0x40,0x20,0xF8,0x07,0x00,0xF8,0x02,0x04,
0x08,0x04,0x04,0x04,0x04,0xFE,0x04,0x00,
0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,
0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00
};
在其它.c⽂件中需要使⽤该结构体时,直接include .h⽂件即可这样编译通过。

实际上结构体是⼀种数据类型,.h⽂件定义了⼀种类型的结构体,并声明为extern形式允许外部调⽤它,⽽初始化code GB_16[] 这个结构体应当在.c⽂件中进⾏。

相关文档
最新文档