home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.c      Meh, in C you gotta define EVERYTHING      243,242 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 241,260 of 243,242   
   BGB to Kaz Kylheku   
   Re: Nice way of allocating flexible stru   
   08 Oct 25 11:33:45   
   
   From: cr88192@gmail.com   
      
   On 10/8/2025 1:35 AM, Kaz Kylheku wrote:   
   > Jonas Lund of https://whizzter.woorlic.org/ mentioned this   
   > trick in a HackerNews comment:   
   >   
   > Given:   
   >   
   >    struct S {   
   >      // ...   
   >      T A[];   
   >    };   
   >   
   > Don't do this:   
   >   
   >    malloc(offsetof(S, A) + n * sizeof (T));   
   >   
   > But rather this:   
   >   
   >    malloc(offsetof(S, A[n]));   
   >   
   > It's easy to forget that the second argument of offsetof is a   
   > designator, not simply a member name.   
   >   
      
   This is assuming offsetof and can deal with general expressions (vs just   
   field names). IIRC, it is only required to work with field names (and   
   with plain structs).   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca