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