elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?  (Leído 5,098 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« en: 3 Junio 2010, 19:01 pm »

Soy nuevo en programacion y estoy aprendiendo C. He leido lo que es una estructura de datos, que es como una agrupacion de variables de diferente tipos de datos, pero la parte en que me pierdo es que para usar una variable de una estructura tenemos que declarar otra variable  :huh: no entiendo porque, ni para que y no entiendo si tiene alguna ventaja usar estructuras o que?

Ayudenme con eso...  :rolleyes:


En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #1 en: 3 Junio 2010, 19:24 pm »

Imagínate que tienes que hacer un gestor de habitaciones para un hotel. (Un ejercicio que hice hace poco, por cierto xD)

Para tener una buena organización, es tenerlo todo por estructuras, me explico:

Creas una estructura modelo para todas las habitaciones

Código
  1. typedef struct Habitacion
  2. {
  3.    int estado;
  4.    char fecha[10];
  5.    int tipo;
  6. }cuarto;
  7.  

Es un ejemplo muy pequeño, pero sirve.

Puedes crear varias habitaciones... Pero vamos a trabajar solo con 1.

Imagínate, que la variable estado, puede estar con el valor 0 (Libre) o 1 (Ocupado). Para comprobar en que estado está la habitación, hacemos:

Código
  1. if (cuarto.estado==1)
  2. ...
  3. else
  4. ...
  5.  
  6.  

También podemos cambiar el estado,...

Código
  1. cuarto.estado =1;
  2.  


Es un simple ejemplo de para qué puedes usar estructuras.. Luego cuando estudies punteros las vas a ver mucho mas, para crear varios tipos de estructuras dinámicas como listas, pilas y colas, tablas, etc.



Lo dicho, para acceder a los miembros de una estructura, usamos esto:

nombre_estructura.miembro

Mas adelante lo verás con punteros

nombre_estructura->puntero


 :P





« Última modificación: 3 Junio 2010, 19:28 pm por GNU López » En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #2 en: 3 Junio 2010, 19:40 pm »

Entonces las estructuras son para tener los datos mas organizados? y para tener que declarar menos variables.

Con el ejemplo de las habitaciones del hotel, tendriamos que declarar las variables "estado", "fecha" y "tipo" para cada cuarto, pero si lo hacemos por estructuras solo tenemos que declara otra variable para referirse a otro cuarto (cuarto_n)
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #3 en: 3 Junio 2010, 19:54 pm »

Lo vas pillando, ahora lo va a entender mejor, vamos a implementar un array de estructuras (Estructura estática)


Código
  1.  
  2. struct Nodo
  3. {
  4.    int Dato;
  5. } array[10];
  6.  
  7. int cont;
  8.  
  9. for (cont=0;cont<10;cont++)
  10. {
  11.    array[cont].Dato =cont;
  12. }
  13.  
  14.  

Con este código declaramos un array de estructuras, y las inicializamos con un For. SI tienes un Hotel con 10 habitaciones, lo puedes hacer igual, no se si me entiendes.

Tampoco quiero decirte todo lo que puedes hacer con estructuras, porque implica punteros... Como consejo, ensaya con lo que te he dicho, haz tus primeras estructuras y vas contando. Tampoco te he dicho, puedes usarlas con typedef como hago yo para el ejemplo del hotel.


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #4 en: 3 Junio 2010, 19:58 pm »

Se me olvido decirte, el uso mas común de las estructuras es para crear nodos, y con ellos, todo tipo de estructuras dinámicas.. Aparte, como dije, son buenas para definir grupos de variables distintas que vayas a usar varias veces...
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #5 en: 3 Junio 2010, 21:32 pm »

A lo que dijo GNU López de las estructuras dinámicas, no es más que hacer un puntero a la estructura:

Código
  1. struct t_prueba
  2. {
  3.     int intprueba;
  4. }
  5.  
  6. struct t_prueba *prueba;
  7. prueba = new struct t_prueba;
  8.  
  9. //Se accede a los datos con el símbolo: ->

Saludos :P
« Última modificación: 18 Julio 2010, 18:13 pm por Horricreu » En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #6 en: 3 Junio 2010, 21:45 pm »

A lo que dijo GNU López de las estructuras dinámicas, no es más que hacer un puntero a la estructura:

Código
  1. struct t_prueba
  2. {
  3.     int intprueba;
  4. }
  5.  
  6. struct t_prueba *prueba;
  7. prueba = new struct t_prueba;
  8.  
  9. //Se accede a los datos con el símbolo: ->

Saludos  :P

Si todavía está aprendiendo a manejar estructuras estáticas, no creo que sea conveniente que empiece con dinámicas
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #7 en: 3 Junio 2010, 22:01 pm »

Ya ya, era sólo una guía para cuando empiece con dinámicas :silbar:

Saludos :P
« Última modificación: 18 Julio 2010, 18:11 pm por Horricreu » En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #8 en: 3 Junio 2010, 22:45 pm »

Bueno, bueno, despacio que todavía no se lo que son nodos, ni typedef, ni punteros. Pero ahora tengo una mejor idea de lo que son las estructuras.

Se usan mucho las estructuras?
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Para que son las estructuras de datos? ¿Que ventaja ofrecen?
« Respuesta #9 en: 3 Junio 2010, 22:54 pm »

Bueno, bueno, despacio que todavía no se lo que son nodos, ni typedef, ni punteros. Pero ahora tengo una mejor idea de lo que son las estructuras.

Se usan mucho las estructuras?

Yo si las uso mucho la verdad, xD
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines