OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3330|回复: 4

结构体中数组成员中内容的长度怎么求

[复制链接]

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-11-6
在线时间
4 小时
发表于 2015-8-12 11:39:36 | 显示全部楼层 |阅读模式
5金钱
定义了一个汉字字模的结构体
struct typFNT_GB24                // 汉字字模数据结构
{
       unsigned char Index[2];            // 汉字内码索引
       char Msk[72];                      // 点阵码数据
};

struct typFNT_GB24  Label_Amount[] =   
{
"输", 0x08,0x02,0x00,0x0E,0x03,0x80,0x0C,0x07,
      0x00,0x0C,0x0E,0x80,0x19,0x0C,0x40,0x7F,
      0x98,0x30,0x18,0x31,0x98,0x30,0x4F,0xCE,
      0x36,0x80,0x04,0x36,0x23,0x10,0x36,0x3F,
      0x9C,0x7F,0xB3,0x58,0x26,0x33,0x58,0x06,
      0x3F,0x58,0x06,0x33,0x58,0x07,0xB3,0x58,
      0x1E,0x3F,0x58,0x76,0x33,0x58,0x26,0x33,
      0x58,0x06,0x33,0x18,0x06,0x33,0x18,0x06,
      0x37,0x18,0x06,0x22,0x78,0x04,0x00,0x30,

"入", 0x00,0x00,0x00,0x03,0x00,0x00,0x07,0xC0,
      0x00,0x00,0x30,0x00,0x00,0x10,0x00,0x00,
      0x08,0x00,0x00,0x18,0x00,0x00,0x1C,0x00,
      0x00,0x1C,0x00,0x00,0x34,0x00,0x00,0x32,
      0x00,0x00,0x62,0x00,0x00,0x63,0x00,0x00,
      0xC1,0x00,0x00,0xC1,0x80,0x01,0x81,0x80,
      0x03,0x00,0xC0,0x06,0x00,0xE0,0x0C,0x00,
      0x60,0x08,0x00,0x78,0x10,0x00,0x3E,0x20,
      0x00,0x18,0x40,0x00,0x00,0x00,0x00,0x00,
    …………
    …………
};
怎么计算 Label_Amount[]中字的个数呢?
这样会报错 length = sizeof(Label_Amount)/sizeof(struct  typFNT_GB24);

最佳答案

查看完整内容[请看2#楼]

回复【3楼】电纸人: --------------------------------- 百度了一下,结构体声明放到.h中,也就是头文件当中。 你肯定将 struct typFNT_GB24                // 汉字字模数据结构 {        unsigned char Index[2];            ...
人生为棋,我愿为卒,行动虽慢,未退一步
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2015-8-12 11:39:37 | 显示全部楼层
回复【3楼】电纸人:
---------------------------------
百度了一下,结构体声明放到.h中,也就是头文件当中。
你肯定将
struct typFNT_GB24                // 汉字字模数据结构
{
       unsigned char Index[2];            // 汉字内码索引
       char Msk[72];                      // 点阵码数据
};
放在.c中。
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2015-8-12 14:44:28 | 显示全部楼层
请问报什么错呢?

我试了下:
struct   abc              
{
u8 Index[2];                       
u8 Msk[24];                   

};

struct   abc GB_112[] =           // 数据表
{
    
"为", 0x00,0x08,0x10,0x08,0x12,0x04,0x1C,0x02,
      0x10,0x01,0xF0,0x00,0x5F,0x00,0x90,0x05,
      0x10,0x08,0x10,0x08,0xF8,0x07,0x10,0x00,

"空", 0x48,0x08,0x44,0x08,0xA4,0x08,0x94,0x08,
      0x84,0x08,0x85,0x0F,0x86,0x08,0x94,0x08,
      0x94,0x08,0xA4,0x08,0x64,0x0C,0x0C,0x08,

"重", 0x08,0x08,0x08,0x0A,0xFA,0x0A,0xAA,0x0A,
      0xAA,0x0A,0xFE,0x0F,0xA9,0x0A,0xA9,0x0A,
      0xA9,0x0A,0xF8,0x0A,0x0C,0x0A,0x08,0x08,

"新", 0x12,0x04,0x56,0x03,0x5A,0x08,0xF3,0x0F,
      0x5E,0x01,0x52,0x0A,0x10,0x04,0xFE,0x03,
      0x12,0x00,0x12,0x00,0xF1,0x0F,0x11,0x00,    
    
"功", 0x04,0x01,0x04,0x01,0xFC,0x08,0x86,0x08,
      0x84,0x04,0x08,0x02,0x08,0x01,0xFF,0x00,
      0x08,0x04,0x08,0x08,0xFC,0x07,0x08,0x00,    
    
"项", 0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x08,
      0x04,0x08,0xFA,0x05,0x0A,0x02,0xEE,0x01,
      0x0A,0x02,0x0A,0x04,0xFB,0x09,0x02,0x08,

"切", 0x10,0x00,0x10,0x00,0xFF,0x03,0x08,0x09,
      0x88,0x08,0x82,0x04,0x02,0x03,0xFE,0x00,
      0x02,0x04,0x02,0x08,0xFE,0x07,0x00,0x00,

"换", 0x48,0x04,0x48,0x08,0xFF,0x07,0xA8,0x08,
      0x98,0x08,0xF4,0x04,0x93,0x02,0xFA,0x01,
      0x96,0x02,0x92,0x04,0xF0,0x08,0x80,0x08,    
    
"行", 0x44,0x00,0x24,0x00,0xF2,0x0F,0x0D,0x00,
      0x10,0x00,0x12,0x00,0x12,0x04,0x12,0x08,
      0x12,0x08,0xF3,0x07,0x12,0x00,0x10,0x00,
  };


sizeof(结构体类型)为26。
sizeof(数组名)为234 = 26*汉字个数。

应该没有问题。
小小蜗牛
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-11-6
在线时间
4 小时
 楼主| 发表于 2015-8-12 15:36:10 | 显示全部楼层
回复【2楼】jiutianshenjian:
---------------------------------
 sizeof(Label_Amount)这句提示错误:incomplete type is not allowed
人生为棋,我愿为卒,行动虽慢,未退一步
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-11-6
在线时间
4 小时
 楼主| 发表于 2015-8-12 20:56:17 | 显示全部楼层
回复【4楼】jiutianshenjian:
---------------------------------
你提醒到我了 
struct typFNT_GB24                // 汉字字模数据结构 

       unsigned char Index[2];            // 汉字内码索引 
       char Msk[72];                      // 点阵码数据 
};
我定义在 .h文件中 而struct typFNT_GB24  Label_Amount[]定义在.c中的 所以会报错 解决了 谢谢
人生为棋,我愿为卒,行动虽慢,未退一步
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-23 04:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表