[elektro] C struktura kérdés

Fuzesi Arnold arnold.fuzesi.lista at gmail.com
Fri Apr 16 17:08:56 CEST 2010


Nekem is furja az oldalam vajon mi is  a problema. :) /én se értem igazából/

A.
On 2010. 04. 16. 16:55, Lajos Rancz wrote:
> Szia!
> 
> Ezt nem értem (az elsőt sem). Meg tudnád magyarázni egy bővebb példával?
> Annyira leegyszerűsítetted, hogy nem érthető :o
> 
> Üdv,
> Lajos
> 
> 2010/4/16 hg12345 <hg12345 at freemail.hu>
> 
>> Ettől féltem :-(
>>
>> Mint említettem ez csak egy kiragadott példa.
>> Az eredeti helyzetben egy ROM-ban összetett konstans leírását tartalmazza a
>> strutc. Majd ez a struct igen sok helyen szerepel további struct belsejében.
>> Mire leírom a teljes kifejtést, nem férek el monitoron, pedig nem kicsi, és
>> értelmetlen lenne külön kifejteni a bitselect, mikor az többivel együtt
>> értelmes.
>>
>> Ez a kis darab máshol és más környezetben szerepel, de a végén találkozik
>> az eredeti struct-val
>>
>> Én nem akartam nevet adni a változó résznek, csak a struct-nak, hogy később
>> hivatkozni tudjak erre a struct meghatározásra. Minden meghatározást
>> szeretek egyszer definiálni, és a fordító bábáskodására bízom magamat és
>> programomat.
>>
>>  pontosan nem ertelek, de:
>>
>> typedef struct{
>>           unsigned b1:1;
>>           unsigned b2:1;
>>           };
>>
>> }AAA_T;
>>
>> typedef  union {
>>          long   V1;
>>         AAA_T tagAAA;
>>          } TEST_t;
>>
>>
>> miert nem jo?
>>
>> A.
>> On 2010. 04. 16. 15:32, hg12345 wrote:
>>> Hi!
>>>
>>> Hogyan lehet egy unnamed struct struktura nevet adni?
>>>
>>> typedef  union {
>>>          long   V1;
>>>           struct tagAAA{
>>>            unsigned b1:1;
>>>            unsigned b2:1;
>>>           };
>>>          } TEST_t;
>>>
>>>
>>> typedef struct tagAAA  AAA_t;
>>>
>>> és későbbiekben ezt a typedef-et szeretném használni. A belső
>> strukturának nem szeretnék nevet adni (unnamed).
>>> A fordító említi, hogy a tagAAA nem definiáltam ami jogos is.
>>> Ezért később nem is tud rá hivatkozni.
>>>
>>> Ha felcserélem a TYPEDEF meghatározásokat vagy csak struct névvel
>> definiálom ekkor nem tudok unnamed struct létrehozni, mert változó névre
>> szükség van!
>>> #define esetén, meg nem válik azonos típusúvá  a két struktura, ezért
>> castolás nélkül nem tőtlhetők egymásba.
>>> A fenti példa csak egy egyszerűsítés de a lényeg jól látszik belőle.
>>>
>>> Van erre megoldás?
>>>
>>> -----------------------------------------
>>>           elektro[-flame|-etc]
>>>
>> -----------------------------------------
>>          elektro[-flame|-etc]
>>
>> -----------------------------------------
>>          elektro[-flame|-etc]
>>
> -----------------------------------------
>           elektro[-flame|-etc]
> 



More information about the Elektro mailing list