Declaración de un struct
Parte de la sección Lógica y Flujo del Journey de C de Coddy. Lección 39 de 63.
Ahora que entiendes qué es un struct, es hora de aprender a crear tus propios tipos de estructura. Declarar un struct en C sigue una sintaxis específica que define el esquema para tu tipo de datos personalizado.
La sintaxis básica para declarar un struct es:
struct StructureName {
datatype member1;
datatype member2;
// ... más miembros
};Así es como funciona cada parte: comienzas con la palabra clave struct, seguida de un nombre para tu estructura; después, enumeras todas las variables miembro dentro de llaves. Cada miembro se declara igual que una variable normal, con su tipo de datos y su nombre. ¡No olvides el punto y coma después de la llave de cierre!
Por ejemplo, para crear una estructura que represente un punto en un espacio 2D:
struct Point {
int x;
int y;
};Esta declaración crea un nuevo tipo de datos llamado struct Point que contiene dos miembros enteros: x y y. Una vez declarado, este tipo de estructura puede usarse en todo tu programa para crear variables que contengan información de coordenadas de forma organizada.
Desafío
FácilCrea un programa en C que defina una struct para representar un libro en un sistema de biblioteca. Tu programa debe:
- Definir una
structllamadaBookque contenga los siguientes miembros:- Un entero
idpara almacenar el número de identificación del libro - Un arreglo de caracteres
titlede tamaño 50 para almacenar el título del libro - Un entero
pagespara almacenar el número de páginas - Un número de punto flotante
pricepara almacenar el precio del libro
- Un entero
- Después de definir la struct, imprime un mensaje de confirmación:
Book struct defined successfully! - Imprime el tamaño de la
Bookstruct en bytes usandosizeof()con el formato:Size of Book struct: [size] bytes - Imprime el tamaño de cada miembro individualmente:
Size of id: [size] bytesSize of title: [size] bytesSize of pages: [size] bytesSize of price: [size] bytes
Este desafío pone a prueba tu comprensión de la sintaxis de declaración de una struct, incluido el uso correcto de la palabra clave struct, las declaraciones de miembros con tipos de datos apropiados y el punto y coma después de la llave de cierre. También explorarás cómo C asigna memoria para los miembros de una struct mediante el operador sizeof().
Recuerda que los valores exactos de tamaño pueden variar según la arquitectura de tu sistema, pero la sintaxis de definición de la struct debe ser correcta para que el programa compile y se ejecute correctamente.
Pruébalo tú mismo
#include <stdio.h>
int main() {
// TODO: Define tu struct Book aquí
// Imprime el mensaje de confirmación
printf("Book struct defined successfully!\n");
// TODO: Imprime el tamaño del struct Book y sus miembros
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Fundamentos de Punteros
¿Qué es un puntero?Declaración de punterosEl operador de dirección (&)El operador de desreferencia (*)Punteros NULLResumen: Conceptos básicos de punteros4Proyecto: Utilidad de texto simple
Descripción general del proyectoContar caracteres7Estructuras (structs)
¿Qué es un struct?Declaración de un structCreación de variables de tipo structAcceso a los miembros de un structInicialización de structsResumen: Struct de datos de estudiantes2Punteros y Arrays
Nombres de Arrays como PunterosElementos de un Array - PunterosAritmética de PunterosComparación de PunterosResumen: Recorrido de Arrays con Punteros5Punteros y funciones
Paso por valorPasar punteros a funcionesModificar variables mediante punterosUn ejemplo clásico: Intercambio (Swap)Pasar arrays a funcionesResumen: Argumentos de punteros a funciones3Arreglos de caracteres y cadenas
Cadenas como arreglos de charEl terminador nuloEntrada de cadenas con scanfUso de strlen()Uso de strcpy()Uso de strcat()Uso de strcmp()Resumen: Funciones básicas de cadenasPractica por tu cuenta: Compilador de C online