【问题标题】:looping through properties in struct - C遍历结构中的属性 - C
【发布时间】:2011-03-06 01:03:33
【问题描述】:

我可以使用 forloop 来获取 C 中“结构”的属性名称吗?还是我只需要单独列出一份清单? (就是我要找的名字)

【问题讨论】:

  • 成员标识符用于人和编译器,输出真的不关心名称,只是它在struct中的偏移量。因此,它抛弃了该信息(即,C 没有反射。)
  • 你想达到什么目的?你想如何处理不同的类型?一些伪代码可能有助于提供替代建议。
  • 我正在使用函数指针,想知道是否可以减少需要第二个名称列表。所以我可以循环列表并将其与一个单词进行比较以获得正确的回调。
  • 对于初学者,您可以将结构放在包含名称和函数指针的列表中 - 或者更好地使用一些现有的字典解决方案来获得名称到函数指针的解析。宏也可以减少定义这些列表/字典的工作。

标签: c properties struct for-loop


【解决方案1】:

for 循环不能枚举 C 中的 struct 成员,不。事实上,一个 C 程序一旦编译完成,根本就没有任何成员名称的概念,它只是使用结构指针的偏移量。

【讨论】:

    【解决方案2】:

    您必须制作一个单独的列表。 C 编程语言没有任何内省功能可以让您枚举结构的属性名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 2019-09-28
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多