TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: j_fernandez 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
-
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
-
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.