📅  最后修改于: 2023-12-03 15:35:10.357000             🧑  作者: Mango
Las struct anidadas son una característica útil en C para definir estructuras más complejas que contienen estructuras de datos como campos.
Una struct anidada es una estructura que está definida dentro de otra estructura. Esto permite al programador definir estructuras de datos más complejas que contienen varias estructuras anidadas.
La sintaxis para definir una struct anidada en C es la siguiente:
struct struct1 {
int a;
struct struct2 {
int b;
int c;
} struct2_variable;
};
En este ejemplo, struct1
contiene un campo llamado struct2_variable
que es una estructura anidada struct2
con campos b
y c
.
A continuación, se muestra un ejemplo del uso de una struct anidada en C:
#include <stdio.h>
struct Address {
char street[100];
char city[50];
char state[50];
int zip;
};
struct Person {
char name[50];
int age;
struct Address address;
};
int main()
{
struct Person p = {"John Doe", 25, {"123 Main St", "Anytown", "TX", 12345}};
printf("Name: %s\n", p.name);
printf("Age: %d\n", p.age);
printf("Address: %s, %s, %s %d\n", p.address.street, p.address.city, p.address.state, p.address.zip);
return 0;
}
En este ejemplo, Person
es una struct que contiene un campo address
que es otra struct Address
. Esto permite que el programador defina la dirección de una persona como un campo dentro de la struct Person
.
Las struct anidadas son una característica útil en C que permite a los programadores definir estructuras más complejas que contienen estructuras de datos como campos. Esta característica es especialmente útil para definir estructuras de datos complejas, como objetos en la programación orientada a objetos, y es comúnmente utilizada en bibliotecas y sistemas de programación en C.