C语言中的匿名联合与结构

在这里,我们将了解C中的匿名联合和结构。匿名联合和结构是未命名的联合和结构。由于它们没有名称,因此我们无法创建其直接对象。我们将其用作嵌套结构或联合。

这些是匿名联合和结构的示例。

struct {
   datatype variable;
   ...
};
union {
   datatype variable;
   ...
};

在此示例中,我们正在构建一个名为point的结构,其中包含一个匿名结构。这持有两个值x,y。我们可以直接访问匿名结构或工会成员。

示例

#include<stdio.h>
struct point {
   //匿名结构
   struct {
      int x;
      int y;
   };
};
main() {
   struct point pt;
   pt.x = 10;
   pt.y = 20;
   printf("Point (%d,%d)", pt.x, pt.y); //anonymus members can be accessed directly
}

输出结果

Point (10,20)