Newsgroups: fj.lang.c
Path: galaxy.trc.rwcp.or.jp!jaist-news!cs.titech!nirvana.cs.titech!wnoc-tyo-news!hitwide!hinocgw!hsdlgw92!hsdlmain!kuroda
From: kuroda@sdl.hitachi.co.jp (Takaki KURODA)
Subject: Re: Why does ANSI C have offsetof macro?
In-Reply-To: nukuduma@tornado.osk.kubota.co.jp's message of Wed, 19 Jan 1994 08:23:20 GMT
Message-ID: <1994Jan24.093841.17816@hsdlgw92.sdl.hitachi.co.jp>
Sender: news@hsdlgw92.sdl.hitachi.co.jp (News manager)
Organization: Systems Development Laboratory, Hitachi, Ltd., Kawasaki, Japan.
References: <SASAYAMA.94Jan19133111@jellybean.otsl.oki.co.jp>
	<NUKUDUMA.94Jan19172320@tornado.osk.kubota.co.jp>
Date: Mon, 24 Jan 1994 09:38:38 GMT
Lines: 64
Xref: galaxy.trc.rwcp.or.jp fj.lang.c:1415
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.c&nb=1415&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B9uED!wF|N)$G$9!#(B

In article <NUKUDUMA.94Jan19172320@tornado.osk.kubota.co.jp> nukuduma@tornado.osk.kubota.co.jp (Kouji Nukuduma) writes:

| Newsgroups: fj.lang.c
| Date: Wed, 19 Jan 1994 08:23:20 GMT
|
| ($B3t(B)$B%/%\%?$NE[5W:J$G$9!#30$7$F$?$i$9$_$^$;$s!#(B
|
| In article <SASAYAMA.94Jan19133111@jellybean.otsl.oki.co.jp> writes:
|
| >> ANSI C$B$K$O(Boffsetof$B%^%/%m$,$"$j$^$9$,!$$3$l$O2?$N$?$a$K$"$k$N$G$7$g$&$+!#(B
| >>
| >> offsetof$B%^%/%m$O(Bstddef.h$B$GDj5A$5$l$k$N$G!$$*$=$i$/(BANSI$B0JA0$K$O$J$+$C$?(B
| >> $B$b$N$H;W$o$l$^$9$,!$;d$O$3$N%^%/%m$N;H$$J}$r2r@b$7$F$$$kJ88%$rA4$/CN$j(B
| >> $B$^$;$s!#$3$l$O0lBN2?$N$?$a$KH/L@$5$l$?$N$G$7$g$&$+!#(B
|
| #define offsetof(type,member) \
|  ((unsigned int)(((char *)(&(((type)NULL)->member))) - ((char *)NULL)))
|
| $B$H$9$l$P!"(BANSI $B0JA0$N=hM}7O$G$bMxMQ$G$-$^$9!#(B

$B$J$k$[$I!#$3$&$9$l$PNI$+$C$?$N$+!#(BNULL$B$r;H$&$N$r;W$$$D$+$:$K6lO+$7$F$^$7$?!#(B

$B;d$O<!$N$h$&$JMQES$G;H$$$^$7$?!#(B

$B%G!<%?$r4IM}$9$k$?$a$KAPJ}8~%j%s%/$N%G!<%?9=B$BN$r:n$C$?$,!"(B
$BJ#?t$N%-%e!<$KB0$9$k$Y$-%G!<%?$,=P$F$-$?!#(B($BEvA3$G$9$M(B :-)

$B$=$3$G!"%-%e!<$+$i!"4IM}$9$Y$-%G!<%?$N@hF,$X$N%*%U%;%C%H$rDI(B
$B2C!#$3$N%*%U%;%C%HCM$r@_Dj$9$k$N$K>e5-$N$h$&$J%^%/%m(B($B;d$N$O(B
$B$b$C$H1x$+$C$?(B)$B$r;H$C$?!#(B

----
$B$=$N;~=q$$$F$$$?%G!<%?9=B$$G$9!#(B(*^^*)
----
typedef struct que_s {
que_s*next;
que_s*prev;
size_tsize;
void*entry;$B!c!a$3$l$N=i4|2=$K(Boffsetof$B$,I,MW(B
    } Que_t;

/*$B%a%b%j>e$N%*%U%;%C%H$D$-APJ}8~%j%9%H(B

entry
+-->+---------+          +---------+
|   |      A  |          |         |
|   |      |  |          |         |
+---+------|--+   next   +---------+
===>| Que  |  |<========>| Que     |<===
    +------|--+   prev   +---------+
    |    size |          |         |
    |      |  |          |         |
    |      V  |          |         |
    +---------+          +---------+
*/
----
--
----
      $B#1#43,Fn@>!w(B($B%=%U%H(B)$B8|LZ$K$$$^$9!#(BEXT.2282
$B"#"#(B  $B9uED_74u!w%7%9%F%`3+H/8&5f=j(B.$BF|N)@=:n=j(B
$B"#"#(B  Email: kuroda@sdl.hitachi.co.jp
      Tel: 044-966-9111(EXT 3354) Fax: 044-966-6832 
