A continuación, del Curso de Programación en C de Programar es fácil (o no) veremos un breve resumen de algunas estructuras de datos:
Struct
Una estructura es una agrupación, bajo un mismo nombre de variable, distintos datos que pueden ser de diferente tipo. Las estructuras vienen a salvar la limitación de los arrays, que solo almacenan un único tipo de dato.
Una estructura también es llamada registro y cabe su analogía con los registros de una tabla, donde un registro tiene varios datos (campos) y estos pueden diferir en su tipo:
Ejemplo:
//un registro usuarios:
struct usuarios_t usuario;
usuario.dni=27651109
strcpy(usuario.nombres,"Jose Maria");
...
//un array de registros:
struct usuarios_t usuarios[10];
usuario[0].dni=27651109
strcpy(usuario[0].nombres,"Jose Maria");
usuario[1].dni=26852789
strcpy(usuario[1].nombres,"Juan Carlos");
...
No es mi intención sumar complejidad a este resumen, solo quiero agregar que se pueden declarar punteros a estructuras, que los elementos de una estructura pueden ser punteros, que se pueden anidar estructuras, pasar estructuras (como punteros a estructuras) como parámetro de funciones, etc.
Union
Una union se declara de la misma forma que una estructura, reemplazando struct por union. La diferencia está en que todos los miembros de la union comparten el mismo espacio en memoria, por lo que solo se puede tener almacenado un miembro de ellos en cada momento. El tamaño de la union estará dado por el miembro más largo de la misma.
Ejemplo:
Enum
Una enumeración es un conjunto de constantes enteras. A la enumeración se le puede asignar un nombre, que se comportará como un nuevo tipo de dato que solo podrá contener los valores especificados en la enumeración.
Ejemplo:
dias_semana dia;
dia = LUNES;
dia = 1; /* Ambas asignaciones son equivalentes */
8 Respuestas para "Struct, Union y Enum en C"
hola…bueno espero q esta pag siga avansando me sirvio y creo q ya me va a servir mucho mas adelante tambien…tengo 16 años y vivo en un `pueblo dnd las pocivilidades de hacer lo q me gusta es muy inpocible…pero bueno cn esfuerso creo q lo voy a lograr…y como me gusta la programacion me encanta y otras cosa de la informatica…esperoq estoy le enorgujesca a los de la pag… y bueno nada gracias por brindar ayuda y resumenes de varios cosas..ejeje
Hola, de igual manera espero que esto continue creciendo… por mi lado estoy leyendo un libro The C programming Language by Brian W. Kernighan and Dennis M. Ritchie (muy bueno por cierto)… en mi pais no hay muchas facilidades de poner en practica la programacion en C, asi que me toca practicarlo todas las noches y en mis tiempos libres, como ahora
..
muchas gracias nuevamente!
un abrazo!
muy bueno¡
fernando grippo, antes de estudiar informática tenés que estudiar ortografía!
A Fernado:
Cómo es posible que escribas de esa manera? joder, cógete un libro de ortografía y gramática porque es vergonzoso que a los 16 años escribas como un niño de 7.
AvanZando es con Z, “más” va como adverbio de cantidad, tiene acento, “también” lleva acento es aguda y termina en n o s, “pocivilidades” ? la ostia! poSiBilidades! de hacer lo que me gusta ES muy, las posibilidades es sujeto plural y no concuerda con 3a persona del singular, y en qué quedamos las posibilidades son imposibles? la ostia!! la ostia!!
no le entendi nada
Esta bien para empezar. En el aparatado de UNION, seguiste escribiendo struct.
Puede ser que “fernando grippo”, no sea español hablante, hay que tomar en cuenta eso antes de emitir algun jucio.
Comentarios: