🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #15351

Re: Uniones

#15351
From: Santiago Romero
Date: Mon, 10 Jul 2000 00:00
46 lines
2143 bytes
El Sun, 09 Jul 2000 10:53:25 +0200, kuantiko escribi�:
>Hola a todos.
>
>	�Podr�a alguien darme una breve explicaci�n de lo que es una uni�n
>en C? Nunca las he usado, y lo �nico que he le�do es que son como una
>estrcutura en la que todos los elementos comparten direcci�n de
>memoria. �Qu� utilidad tienen?

 ejemplo (en pseucodigo):

  
 union MYWORD
 {
    unsigned short word;
    unsigned char bytealto, bytebajo;
 } 

 en este caso word ocupa la misma direccion que bytealto y bytebajo,
 de modo que puedes acceder a este word completo, a su parte baja o
 a su parte alta, haciendo que se modifique la cosa completa:

 ej:

  word = 0        (y tambien hace que bytealto=bytebajo=0)
  bytebajo = 100  (y tambi�n hace que word=100).
  etc...

 puede servir para otras cosas (algun dia te puedes ver en un problema
 similar) y en este caso te ahorraria hacer algo asi como:

  word = bytealto = bytebajo = 0;
  bytebajo = word = 100;
  bytealto = 100; word = (100<<8) | word;
  etc..

 salu2!
-- 
ANTENA3 TV = MANIPULACION DE INFORMACION (=Telefonica).

"He instalado el Windows 2000 y me va sin problemas." (Pinocho)
 _-----------------------------------------------------_
|  NoP / Compiler       --     sromero@unix-shells.com  |
|-------------------------------------------------------|
|  POWERED BY - Linux RedHat 6.0  -  Reg. User #74.821  |
|              http://web.jet.es/s.romero               |
 ~-----------------------------------------------------~
Technical Details
Message-ID: <slrn8mjgdl.q4.s.romero@compiler.linux.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <39683D85.4A4E4957@teleline.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d9e2de11a81b412f
X-Google-Attributes: gidf86c8,public
From: s.romero@unix-shells.com (Santiago Romero)
Subject: Re: Uniones
Date: 2000/07/10
Message-ID: <slrn8mjgdl.q4.s.romero@compiler.linux.es>
X-Deja-AN: 644655317
Content-Transfer-Encoding: 8bit
References: <39683D85.4A4E4957@teleline.es>
Content-Type: text/plain; charset=iso-8859-1
X-Trace: fu-berlin.de 963246090 2330469 62.36.111.225 (16 [39726])
Mime-Version: 1.0
User-Agent: slrn/0.9.6.2 (Linux)
Reply-To: sromero@unix-shells.com
Newsgroups: es.comp.os.linux.programacion