C数据结构-存储二叉树的表示

C数据结构-存储二叉树的表示,c,data-structures,code-organization,C,Data Structures,Code Organization,我正在为一个嵌入式处理器做一个项目,在这个项目中,我有一些在运行时创建的数据,指向这些数据的指针需要排列成几个类似于二叉树的数据结构,以供程序使用 这些结构在程序运行期间是固定的,但是,我希望在编译时的选项能够快速改变所使用的树的结构。希望它比所涉及的每棵树的函数或宏更优雅、更容易重新配置,该函数或宏按照树的每个底层数据元素和节点的正确顺序重复调用“AddNode”函数。谢谢你的建议 使用M4预处理器实现高级伪语言来生成构建树所需的C代码怎么样?您的代码可能有一个名为initTrees()的函数

我正在为一个嵌入式处理器做一个项目,在这个项目中,我有一些在运行时创建的数据,指向这些数据的指针需要排列成几个类似于二叉树的数据结构,以供程序使用


这些结构在程序运行期间是固定的,但是,我希望在编译时的选项能够快速改变所使用的树的结构。希望它比所涉及的每棵树的函数或宏更优雅、更容易重新配置,该函数或宏按照树的每个底层数据元素和节点的正确顺序重复调用“AddNode”函数。谢谢你的建议

使用M4预处理器实现高级伪语言来生成构建树所需的C代码怎么样?您的代码可能有一个名为
initTrees()
的函数,其主体将由M4从一个文件自动生成,该文件的内容将是所需树结构的描述。整个过程如下:

sample.c.m4-->[m4]-->sample.c-->[c编译器]-->二进制文件


)

如何创建树的文本表示并将其保存在字符串中,然后对其进行解析以构建树?然后,您可以在编译时切换正在使用的字符串。我通常使用创建结构内存映像的实用程序,可以直接作为二进制文件,也可以象征性地使用链接器或实用程序进行修复。谢谢-这两个都是很有吸引力的建议。谢谢,这当然值得考虑!