Article View: fr.comp.lang.c
Article #15619Re: alignements struct/tableaux
From: Richard Delorme
Date: Sat, 17 Sep 2005 18:27
Date: Sat, 17 Sep 2005 18:27
43 lines
2238 bytes
2238 bytes
Pierre Habouzit a �crit :
> soit le bout de code suivant :
>
> ------------------------------------------------------------------------
>
> typedef struct foo foo;
>
> struct my_union {
> union {
> foo *array[2];
> struct {
> foo *first;
> foo *second;
> }
> }
> } my_union;
>
> ------------------------------------------------------------------------
>
> soit 'bar' du type my_union, en supposant que tous les membres sont allou�s.
>
> est ce que je suis toujours sur que :
>
> &bar->array[0] == &bar->first
oui.
On est aussi toujours s�r (sauf bug du compilo) que les membres d'une
union partagent la m�me adresse. On sait aussi que le premier �l�ment
d'un tableau ou d'une structure on la m�me adresse que le tableau ou la
structure.
> &bar->array[1] == &bar->second
non.
Dans une structure, les membres ne sont pas n�cessairement contigus. Il
peut y avoir des remplissages non nomm�es ("unnamed padding") entre les
membres et � la fin de la structure, mais pas au d�but. Par contre, les
�l�ments d'un tableau sont contigus, donc la seconde �galit� n'est pas
n�cessairement v�rifi�e.
--
Richard
Technical Details
Message-ID:
<432c600b$0$305$7a628cd7@news.club-internet.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!proxad.net!m.t-online.fr!v.t-online.fr!t-online.fr!not-for-mailReferences:
<432c52d5$0$9425$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,2ab126dba8e5e645 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!proxad.net!m.t-online.fr!v.t-online.fr!t-online.fr!not-for-mail Date: Sat, 17 Sep 2005 20:27:27 +0200 From: Richard Delorme <abulmo@nospam.fr> User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050801) X-Accept-Language: fr, en MIME-Version: 1.0 Newsgroups: fr.comp.lang.c Subject: Re: alignements struct/tableaux References: <432c52d5$0$9425$626a14ce@news.free.fr> In-Reply-To: <432c52d5$0$9425$626a14ce@news.free.fr> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit Lines: 43 Message-ID: <432c600b$0$305$7a628cd7@news.club-internet.fr> Organization: Club-Internet / T-Online France NNTP-Posting-Date: 17 Sep 2005 18:27:23 GMT NNTP-Posting-Host: 62.34.56.67 X-Trace: 1126981643 news.club-internet.fr 305 62.34.56.67 X-Complaints-To: abuse@club-internet.fr