在C中的结构内构造

时间:2018-12-09 17:49:53

标签: c struct

我试图了解“设备套件”在做什么;在这段代码中,但没有成功。我还尝试在Internet上找到解决方案,但没有找到。 这是代码片段:

01/
  23abcd
  45abcd
ab/
  cdef01
  010101

此片段来自C书中的示例代码。

1 个答案:

答案 0 :(得分:2)

当您typedef结构时,您不再需要使用关键字struct

因此,使用上述定义,您现在可以将数据定义为:

struct scuba joe;  // here using "struct"
joe.name = "Joe Carver";
joe.kit.tank_capacity = 30.0;
joe.kit.tank_psi = 70;
joe.kit.suit_material = "neoprene";

diver jane;  // here not using "struct"
jane.name = "Jane Smith";
jane.kit.tank_capacity = 25.0;
jane.kit.tank_psi = 75;
jane.kit.suit_material = "kevlar";

typedef仅允许使用较短的符号。但是joejane都被认为是同一类型。

编辑:对于equipment kit,它是“结构中的结构”。通过使用这种方法,描述其设备的水肺驱动程序数据将被分组。这样可以更好地组织代码和数据,被认为是最佳实践。