Autor Tema: Pregunta sobre crear un nuvo tipo de variable  (Leído 1832 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado j_fernandez

  • PIC12
  • **
  • Mensajes: 89
Pregunta sobre crear un nuvo tipo de variable
« en: 21 de Marzo de 2006, 05:41:00 »
Hola, estoy trabajando en un proyecto y me surgen dos dudas, la primera es que al definir un struct al final has de poner el nombre de la variable y si quieres utilizar el formato creado en otro lado no puedes, me explico con un ejemplo.

struct fecha {
 int dia;
 int mes;
 int año;
} fecha actual;

fecha actual me queda definida como una estructura de tipo fecha, pero en el caso de que en otra estuctura necesite el mismo tipo de variable no me deja, ej.

struct medida{
 int canal;
 int magnitud;
 fecha fecha_medida;
 .....
}medida 1;

Como se podría hacer esto? alguien podría decirmelo porfavor?

Y la segunda duda, es en el caso de dentro de la estructura coloque :

struct fecha {
 int dia : 2;
 int mes : 2;
 int año :2;
} fecha actual;

Quiere decir que cada variable me ocupara sólo 2 bits???

Gracias y un saludo


Desconectado juanelete

  • PIC12
  • **
  • Mensajes: 74
RE: Pregunta sobre crear un nuvo tipo de variable
« Respuesta #1 en: 21 de Marzo de 2006, 12:36:00 »
Hola

Puedes hacerlo de 2 formas:

asi:

struct FECHA
{
   int dia;
   int mes;
   int ano;
} fecha_actual;


struct medida
{
   int canal;
   int magnitud;
   struct FECHA fecha_medida;
}medida1;

o asi:

typedef struct
{
   int dia;
   int mes;
   int ano;
} FECHA;


struct medida
{
   int canal;
   int magnitud;
   FECHA fecha_medida;
}medida1;


En cuanto a la otra pregunta, la respuesta es si. Sirve para repartir los 8 bits de un Byte entre varias variables de bits. Aunque lo correcto es que la suma total de bits sea 8.

struct fecha
{
int dia : 2;
int mes : 2;
int año :2;
int no_usado :2;
} fecha_actual;


Saludos Giño

Desconectado j_fernandez

  • PIC12
  • **
  • Mensajes: 89
RE: Pregunta sobre crear un nuvo tipo de variable
« Respuesta #2 en: 22 de Marzo de 2006, 01:25:00 »
 Muchas gracias Juanelete me as ayudado muchisimo!!!

Hacia lo mismo que tu me decias pero sin poner la palabra struct cuando insertaba la primera en la segunda.

Gracias de nuevo y un saludo. Rebotado