帮我看看这个需求有没有现成的代码或算法可借鉴

huofly 2009-03-15 08:58:06
比如有如下结构定义:

typedef struct
{
int aaa;
int bbb;
}TEST_STRUCT1;

typedef struct
{
char ccc;
char ddd;
}TEST_STRUCT2;

typedef struct
{
float eee;
int fff[2];
TEST_STRUCT1 struct1;
TEST_STRUCT2 struct2[2];
}TEST_STRUCT3;

我希望把TEST_STRUCT3转化为如下的一个结构:

typedef struct
{
float eee;
int fff_1;
int fff_2;
int struct1_aaa;
int struct1_bbb;
char struct2_1_ccc;
char struct2_1_ddd;
char struct2_2_ccc;
char struct2_2_ddd;

}TEST_STRUCT3;

即把一个复杂的结构(有数组、有结构嵌套、有结构数组等等)转化成一个等效的简单
的线性结构,不知道有没有现成的代码或算法可借鉴,谢谢啦。
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huofly 2009-03-17
  • 打赏
  • 举报
回复
多谢楼上的,我先找找
spirit_sheng 2009-03-16
  • 打赏
  • 举报
回复
你这个最主要工作量是词法分析和语法分析

能得到各个类型包括哪些成员会, 就是简单的展开了

可以网上找开源的语法分析源码
huofly 2009-03-16
  • 打赏
  • 举报
回复
希望设计一个程序,输入文件a.h,输出b.h

其中a.h中为:
typedef struct
{
int aaa;
int bbb;
}TEST_STRUCT1;

typedef struct
{
char ccc;
char ddd;
}TEST_STRUCT2;

typedef struct
{
float eee;
int fff[2];
TEST_STRUCT1 struct1;
TEST_STRUCT2 struct2[2];
}TEST_STRUCT3;

输出的b.h为:

typedef struct
{
float eee;
int fff_1;
int fff_2;
int struct1_aaa;
int struct1_bbb;
char struct2_1_ccc;
char struct2_1_ddd;
char struct2_2_ccc;
char struct2_2_ddd;

}TEST_STRUCT3;

liusichen_0 2009-03-15
  • 打赏
  • 举报
回复
不明白要干什么?

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧