Autor Tema: Algun ejemplo de Struct y Union  (Leído 2580 veces)

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

Desconectado MasterD

  • PIC10
  • *
  • Mensajes: 10
Algun ejemplo de Struct y Union
« en: 11 de Mayo de 2004, 05:22:00 »
struct
{
int1 x;
int1 y;
int1 z;
int1 w;
} total;

La pregunta es como puedo visualizar o leer todo el contenido
de la 4 variables individuales la cual se supone que se almaceno
en "total"

Los ejemplos que he visto solo utilizan la estructuras para asignación de un puerto, me gustaria ver un ejemplo que se
utilicen con variables.

Desconectado oshow

  • PIC18
  • ****
  • Mensajes: 321
RE: Algun ejemplo de Struct y Union
« Respuesta #1 en: 11 de Mayo de 2004, 06:07:00 »
Hola Master

La única forma que  se me ocurre es visualizar cada miembro de la estructura individualmente:

1º defines una variable de tipo total

struct total var1;  //variable var1 del tipo total

y luego una posible solución para leer los miembros puede ser esta, asignando los miembros a unas variables que despues vas a leer.

variable_a_leer1=var1.x;
variable_a_leer2=var1.y;
variable_a_leer3=var1.z;
variable_a_leer4=var1.w;

luego lees cada variable y ves el valor de cada miembro de la esctructura.

Tambien es posible leer los miembros de las estructuras sin asignarlos a variables, directamente con el operador punto, lo que pasa es que puse lo de las variables como ejemplo.

No se si es esto a lo que te referías, si no es así, pide algo mas concreto a ver si podemos ayudarte.

Saludos.

PD: Se me olvidaba, segun tienes definida la estructura, no te funcionara, te falta el typedef.

typedef struct
{
    int1 x;
    int1 y;
    int1 z;
    int1 w;
}total;


total var1;   //variable de tipo total


struct total
      {
         int1 x;
         int1 y;
         int1 z;
         int1 w;
      };

struct total var1;   //variable de tipo total

O la defines de una forma o de otra, en cualquier caso las dos es lo mismo.

Desconectado oshow

  • PIC18
  • ****
  • Mensajes: 321
RE: Algun ejemplo de Struct y Union
« Respuesta #2 en: 11 de Mayo de 2004, 09:25:00 »
Como pides un ejmplo, he hecho este muy sencillito, consiste en asignar a los miembros un valor y realizar una and y asignarle el resultado a otro miembro. Es muy sencillito.

Código


#include <16F876.h>
#use delay(clock=4000000)
#include <lcd.c>


struct total
      {
            int1 x;
            int1 y;
            int1 z;
            int1 w;
      };




void main(void)
{

       struct total var1;



       lcd_init();



       var1.x=1;
       var1.y=1;

       var1.z=var1.x & var1.y;  //operacion logica AND de los dos bits

       lcd_gotoxy(1,1);
       printf(lcd_putc,"%i",var1.z);

}