jueves, 3 de mayo de 2012

Tutorial de programación C/C++ desde 0. Capitulo 8


Hola a todos,

Hace tiempo que esperaba que alguien me pidiera algo más para el tutorial de programación de C/C++ desde 0 y hoy un lector del blog ha hecho su petición: structs

Que es un struct??

El struct es un conjunto de datos empaquetados en un solo "nombre" definido por el programador. Si habéis llegado aquí deberías saber lo que es un int, un char o un float (si no lo teneis claro revisad capitulo anteriores del tutorial), pero como ya habréis visto si habéis empezado a hacer vuestros primeros programas en muchas ocasiones las variables quedan desperdigadas y se hace difícil enteneder el código (si no habeís llegado a ese punto, tranquilos, ya os pasará :D)


Como se usa un struct?

Bien, lo principal es su defnición:

typedef struct
{
      char altura_centimetros;
      char peso_kilos;
      int sueldo_anual_bruto;
}TPersona;

A partir de aquí podremos usar ese tipo de estructura como si de una variable más se tratara.

TPersona pepe;
TPersona juan;

Y para acceder a los datos de "pepe" y "juan" solo nos hará falta el operador '.'

if ( pepe.sueldo_anual_bruto )
{
          pepe.altura_centimetros = 156;
          pepe.peso_kilos += juan.peso_kilos;
}

En el supuesto que tuviesemos un puntero (EDIT: para saber lo que es un puntero mira este link) a una estructura a los datos se tendria que acceder mediante el operador '->'

TPersona &pepe;
TPersona juan;

juan.altura_centimetros = pepe->altura_centimetros;
pepe->peso_kilos = juan.peso_kilos;

Finalmente habría el caso de structs que contuviesen structs que seria de este estilo:

typedef struct
{
    char rojo,azul,verde;
}TColor;

typedef struct
{
    TColor ojos;
    TColor cabello;
}TPersona;

TPersona pepe;

pepe.ojos.rojo = pepe.cabello.azul + 10;


Con estoy doy por semifinalizado el tema de structs. Pensad que es un tema que da muchísimo juego y que este tutorial no es más que una primera aproximación. Si tenéis dudas sobre este tutorial decidlo y tal vez haga otro para acabar de completarlo, pero por ahora, ya podéis empezar a jugar con el tema.

Espero que os haya gustado

Nos vemos

LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares