Creación de variables de tipo struct
Parte de la sección Logic & Flow del Journey de C de Coddy — lección 40 de 63.
Una vez que hayas declarado un tipo struct, puedes usarlo para crear variables reales que contengan datos. Crear una variable struct funciona exactamente igual que declarar cualquier otra variable en C: especificas el tipo de dato seguido del nombre de la variable.
La sintaxis para crear una variable struct es:
struct StructureName variableName;Por ejemplo, usando la estructura Point de la lección anterior:
struct Point p1;
struct Point p2;Esto crea dos variables, p1 y p2, ambas de tipo struct Point. Cada variable tiene su propia copia separada de los miembros x e y definidos en la estructura.
Puedes crear tantas variables de estructura como necesites, tal como lo harías con tipos integrados como int o float. Cada variable de estructura es independiente y puede contener diferentes valores en sus miembros. Una vez creadas, estas variables están listas para almacenar datos de coordenadas de manera organizada.
Desafío
FácilCrea un programa en C que demuestre la creación de múltiples variables de tipo struct de diferentes tipos. Tu programa debe:
- Definir un
structllamadoRectanglecon los siguientes miembros:- Un entero
width - Un entero
height
- Un entero
- Definir un
structllamadoStudentcon los siguientes miembros:- Un entero
id - Un arreglo de caracteres
namecon tamaño 30 - Un float
gpa
- Un entero
- En la función main, crea las siguientes variables de tipo struct:
- Dos variables
Rectanglellamadasrect1yrect2 - Tres variables
Studentllamadasstudent1,student2ystudent3
- Dos variables
- Imprime mensajes de confirmación para cada variable creada en este formato exacto:
Rectangle variable rect1 createdRectangle variable rect2 createdStudent variable student1 createdStudent variable student2 createdStudent variable student3 created
- Imprime el número total de variables struct creadas en el formato:
Total struct variables created: 5 - Imprime el uso de memoria para cada tipo en el formato:
Memory per Rectangle: [size] bytesMemory per Student: [size] bytes
Este desafío pone a prueba tu capacidad para definir múltiples tipos de struct y crear varias variables de cada tipo. Cada variable struct es independiente y tiene su propio espacio de memoria, lo que demuestra cómo se pueden usar los structs para organizar diferentes tipos de datos en tus programas.
Hoja de referencia
Para crear variables de estructura, utiliza la misma sintaxis que al declarar otras variables:
struct StructureName variableName;Ejemplo de creación de múltiples variables de estructura:
struct Point p1;
struct Point p2;Cada variable de estructura es independiente y tiene su propia copia separada de todos los miembros definidos en la estructura. Puedes crear tantas variables de estructura como necesites, al igual que con los tipos integrados.
Pruébalo tú mismo
#include <stdio.h>
int main() {
// TODO: Define tu struct Rectangle aquí
// TODO: Define tu struct Student aquí
// TODO: Crea las variables de struct aquí
// TODO: Imprime mensajes de confirmación para cada variable creada
// TODO: Imprime el número total de variables de struct creadas
// TODO: Imprime el uso de memoria para cada tipo de struct usando sizeof()
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Logic & Flow
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 cadenas