Menu
CoddyTech

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 de tu tipo de datos personalizado.

La sintaxis básica para declarar un struct es:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... más miembros
};

Así funciona cada parte: empiezas con la palabra clave struct, seguida del nombre de tu estructura; después, enumeras todas las variables miembro entre 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 e y. Una vez declarado, este tipo de estructura se puede usar en todo el programa para crear variables que almacenen información de coordenadas de forma organizada.

challenge icon

Desafío

Fácil

Crea un programa en C que defina un struct para representar un libro en un sistema de biblioteca. Tu programa debe:

  1. Definir un struct llamado Book que contenga los siguientes miembros:
    • Un entero id para almacenar el número de identificación del libro
    • Un arreglo de caracteres title de tamaño 50 para almacenar el título del libro
    • Un entero pages para almacenar el número de páginas
    • Un número de punto flotante price para almacenar el precio del libro
  2. Después de definir el struct, imprime un mensaje de confirmación: Book struct defined successfully!
  3. Imprime el tamaño del struct Book en bytes usando sizeof(struct Book) con el formato: Size of Book struct: [size] bytes
  4. Imprime el tamaño de cada miembro por separado pasando su tipo a sizeof(), por ejemplo, sizeof(int) para id, sizeof(char[50]) para title y sizeof(float) para price:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

Los miembros suman 62 bytes, pero sizeof(struct Book) da 64: el compilador agrega 2 bytes de relleno después de title para que pages comience en un múltiplo de 4.

Este desafío pone a prueba tu comprensión de la sintaxis de declaración de structs, incluido el uso correcto de la palabra clave struct, las declaraciones de miembros con tipos de datos adecuados 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 un struct usando 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 del struct debe ser correcta para que el programa se compile y se ejecute correctamente.

Pruébalo tú mismo

#include <stdio.h>

int main() {
    // TODO: Define aquí tu struct Book
    
    
    // Imprime el mensaje de confirmación
    printf("Book struct defined successfully!\n");
    
    // TODO: Imprime el tamaño del struct Book y de sus miembros
    
    
    return 0;
}
quiz iconPonte a prueba

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

Practica por tu cuenta: Compilador de C online