C 语言中的嵌套结构

2025 年 3 月 28 日 | 阅读 3 分钟

C 语言为我们提供了将一个结构嵌套在另一个结构中的功能,通过这种方式可以创建复杂的数据类型。例如,我们可能需要在一个结构中存储一个员工的地址信息。地址属性本身也可能包含子部分,如街道号码、城市、州和邮政编码。因此,为了存储员工的地址,我们需要将地址存储在一个单独的结构中,并将地址结构嵌套到员工结构中。请看下面的程序。

示例

编译并运行

输出

Enter employee information?

Arun            

Delhi           

110001       

1234567890    

Printing the employee information....   

name: Arun      

City: Delhi  

Pincode: 110001

Phone: 1234567890

结构可以按以下方式进行嵌套。

  1. 通过单独的结构
  2. 通过嵌入式结构

1) 单独的结构

在这里,我们创建了两个结构,但依赖结构应该作为成员在主结构中使用。请看下面的例子。

正如你所见,doj(加入日期)是 Date 类型的变量。在这里,doj 在 Employee 结构中被用作一个成员。通过这种方式,我们可以在许多结构中使用 Date 结构。

2) 嵌入式结构

嵌入式结构使我们能够在结构内部声明结构。因此,它需要较少的代码行,但不能在多个数据结构中使用。请看下面的例子。

访问嵌套结构

我们可以通过 Outer_Structure.Nested_Structure.member 来访问嵌套结构的成员,如下所示:

C 嵌套结构示例

让我们来看一个 C 语言中嵌套结构的简单示例。

示例

编译并运行

输出

employee id : 101
employee name : Sonoo Jaiswal
employee date of joining (dd/mm/yyyy) : 10/11/2014

将结构传递给函数

与其他变量一样,结构也可以传递给函数。我们可以将结构成员传递给函数,或者一次性将结构变量传递过去。请看下面的例子,将结构变量 employee 传递给一个名为 display() 的函数,该函数用于显示员工的详细信息。

示例

编译并运行