<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="Arial">Nějak mám dlouhé vedení....</font></p>
    <p><font face="Arial">K čemu je size_t size; v strukturách?</font></p>
    <p><font face="Arial">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<br>
      </font></p>
    <p><font face="Arial"><br>
      </font></p>
    <pre class="moz-signature" cols="72">Martin Záruba</pre>
    <div class="moz-cite-prefix">Dne 7.5.2024 v 23:27 Miroslav Šinko
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:47c3281b-ac77-3b9a-c947-8a4a67857971@gmail.com">Inspirujte
      sa napr. vo WinAPI. Nejdem nic kopirovat, napisem pointu:
      <br>
      <br>
      struct{
      <br>
       size_t size;
      <br>
       int a;
      <br>
       int b;
      <br>
      }x;
      <br>
      <br>
      Potom si niekto moze spravit:
      <br>
      struct{
      <br>
       size_t size;
      <br>
       int a;
      <br>
       int b;
      <br>
       int c;
      <br>
       int d;
      <br>
      }x_ext;
      <br>
      <br>
      Aby nebolo treba copy/paste, tak takto:
      <br>
      struct{
      <br>
       struct x;
      <br>
       int c;
      <br>
       int d;
      <br>
      }x_ext;
      <br>
      <br>
      Kazdy je povinny pri naplnani struktury vyplnit
      size=sizeof(<moja_struktura>) a pri pouziti si skontrolovat
      size, ci mozem pristupovat na premenne svojej struktury.
      <br>
      <br>
      miro
      <br>
      <br>
      <br>
      On 7.5.2024 18:02, Martin Záruba wrote:
      <br>
      <blockquote type="cite">Mám soubor, třeba muj.h ve kterém je
        deklarovaná struktura x, třeba
        <br>
        <br>
        struct{
        <br>
        inta;
        <br>
        int b;
        <br>
        }x;
        <br>
        <br>
        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:
        <br>
        <br>
        structstru {
        <br>
        inta;
        <br>
        int b;
        <br>
        #ifdefuser
        <br>
           user
        <br>
        #endif
        <br>
        };
        <br>
        <br>
        A v uživatelském programu použít
        <br>
        <br>
        #defineuser\
        <br>
        intc; \
        <br>
        intd;
        <br>
        <br>
        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.
        <br>
        <br>
        Je na tom něco v nepořádku nebo to lze udělat líp?
        <br>
        <br>
        <br>
        -- <br>
        <br>
        Martin Záruba
        <br>
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
        <br>
        <a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
        <br>
        <br>
      </blockquote>
      _______________________________________________
      <br>
      HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
      <br>
      <a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
      <br>
    </blockquote>
  </body>
</html>