Estructuras en C

Structures C



En C, una estructura es una variable definida por el usuario que se utiliza para almacenar una colección de variables en una sola entidad. Usemos una analogía simple para explicar la implementación y utilidad de las estructuras en C.

Supongamos que queremos almacenar información sobre los usuarios que utilizan un servicio específico. Dicha información puede incluir el nombre de usuario, correo electrónico, dirección, modo de servicio, etc. Para almacenar dicha información, podemos crear cada atributo como una variable independiente. Sin embargo, cuando tenemos más de diez usuarios, el código puede salirse de control y volverse muy difícil y tedioso de leer.







Para solucionar esto, podemos crear una estructura. Dentro de la estructura, podemos almacenar todos los atributos compartidos por todos los usuarios y luego agregar variables únicas para cada usuario.



Echemos un vistazo a varios ejemplos para ver cómo implementar esto.



Cómo definir una estructura en C

Para definir una estructura en C, usamos la palabra clave struct seguida del nombre de la estructura. Después del nombre, tenemos un par de llaves donde agregamos los miembros.





Considere la sintaxis a continuación:

estructuranombre_estructura
{
/* datos */
escriba nombre_miembro;
escriba member_name2;
escriba member_name3;

...
escribemember_nameN;
};

El nombre de la estructura puede ser el que desee siempre que se adhiera a la convención de nomenclatura del lenguaje de programación C.



Podemos implementar una estructura de ejemplo de la analogía del usuario como:

estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
};

Cómo crear variables de estructura

Hay dos formas principales de crear variables de estructura. La primera es declararlas como variables normales y la otra es configurarlas con llaves.

El siguiente ejemplo muestra cómo declarar variables de estructura como variables C estándar.

estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
};

En tprincipal(En targc, carbonizarse constante *argv[])
{
estructurausuarios user1,usuario2,usuario3
regreso 0;
}

El otro método para crear variables de estructura es el que se muestra a continuación:

estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
}usuario1,usuario2,usuario3;

En este ejemplo, los creamos durante la declaración de estructura.

Estructura Miembro Inicial

No puede inicializar los miembros de la estructura durante la creación, ya que no hay memoria asignada para el tipo.

Para inicializar los miembros de una estructura, utilice las llaves como se muestra a continuación:

estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
};
En tprincipal(En targc, carbonizarse constante *argv[])
{
estructurausuarios user1= {'mi nombre de usuario', '[correo electrónico protegido]', 35, cierto}
regreso 0;
}

Miembros de la estructura de acceso

Para acceder a los miembros de una estructura, usamos el operador punto, comenzando con el nombre de la estructura, un punto y el nombre del miembro.

estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
};
En tprincipal(En targc, carbonizarse constante *argv[])
{
estructurausuarios user1= {'mi nombre de usuario', '[correo electrónico protegido]', 35, cierto}
usuario1.Email = '[correo electrónico protegido]'
regreso 0;
}

En este ejemplo, accedemos a los miembros de user1.

Palabra clave Typedef

Usamos la palabra clave typedef para crear un alias para los tipos de datos, haciendo que el código sea más legible.

Por ejemplo:

typedef estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
}tu;
En tprincipal(En targc, carbonizarse constante *argv[])
{
tu usuario1= {'mi nombre de usuario', '[correo electrónico protegido]', 35, cierto}
usuario1.registrado = falso
regreso 0;
}

En el ejemplo anterior, creamos un alias u para la estructura de usuarios. Por lo tanto, no es necesario que llamemos a los usuarios de la estructura cada vez. Podemos usar u como se definió anteriormente.

Punteros de estructura

También puede tener un puntero a una estructura. Hacer esto le permite acceder a los miembros usando el operador ->.

Por ejemplo:

typedef estructurausuarios
{
carbonizarsenombre de usuario[20];
carbonizarseEmail[225];
carbonizarseDirección[50];
En tla edad;
bool registrado;
}tu;
En tprincipal(En targc, carbonizarse constante *argv[])
{
tu usuario1= {'mi nombre de usuario', '[correo electrónico protegido]', 35, cierto}

// puntero a otra estructura
tu*user_ptr= &usuario1
user_ptr->nombre de usuario= 'ptrusername'
regreso 0;
}

Conclusión

Esta guía cubre los conceptos básicos para trabajar con estructuras en el lenguaje de programación C.

¡Gracias por leer!