🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15619

Re: alignements struct/tableaux

#15619
From: Richard Delorme
Date: Sat, 17 Sep 2005 18:27
43 lines
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-mail
References: <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