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!