[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