Re: doplnění prvků do struktury
Martin Záruba
swz na volny.cz
Středa Květen 8 07:58:45 CEST 2024
Nějak mám dlouhé vedení....
K čemu je size_t size; v strukturách?
Jak se při použití x_ext v posledním zápisu struktury dostanu na prvek
a? Není mi jasné, co kompilátor vytvořil z poslední definice x_ext,
protože neřve. Ale x přece není popis struktury, ale proměnná typu struct
Martin Záruba
Dne 7.5.2024 v 23:27 Miroslav Šinko napsal(a):
> Inspirujte sa napr. vo WinAPI. Nejdem nic kopirovat, napisem pointu:
>
> struct{
> size_t size;
> int a;
> int b;
> }x;
>
> Potom si niekto moze spravit:
> struct{
> size_t size;
> int a;
> int b;
> int c;
> int d;
> }x_ext;
>
> Aby nebolo treba copy/paste, tak takto:
> struct{
> struct x;
> int c;
> int d;
> }x_ext;
>
> Kazdy je povinny pri naplnani struktury vyplnit
> size=sizeof(<moja_struktura>) a pri pouziti si skontrolovat size, ci
> mozem pristupovat na premenne svojej struktury.
>
> miro
>
>
> On 7.5.2024 18:02, Martin Záruba wrote:
>> Mám soubor, třeba muj.h ve kterém je deklarovaná struktura x, třeba
>>
>> struct{
>> inta;
>> int b;
>> }x;
>>
>> Soubor je pomocí include vložen do hlavního programu. A já bych
>> potřeboval, aby uživatel, který použije #include muj.h mohl do té
>> struktury vložit další prvky, takže struktura by se o tyto prvky
>> (které v ní nejsou definované) rozšířila. Vymyslel jsem toto:
>>
>> structstru {
>> inta;
>> int b;
>> #ifdefuser
>> user
>> #endif
>> };
>>
>> A v uživatelském programu použít
>>
>> #defineuser\
>> intc; \
>> intd;
>>
>> Asi to vypadá jako divný požadavek, ale mě jde o to, aby struktura x
>> byl jeden prvek, který obsahuje jak mé, tak uživatelem vytvořené členy.
>>
>> Je na tom něco v nepořádku nebo to lze udělat líp?
>>
>>
>> --
>>
>> Martin Záruba
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240508/46225adf/attachment.htm>
Další informace o konferenci Hw-list