Newsgroups: fj.archives.answers,fj.lang.c
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!sinfony-news01!news-jp-0.abone.net!np0.iij.ad.jp!nspixp!spinnews!spin-hsd0-tky!yhqfm!xeroc!leia!133.140.40.2!kitano
From: kitano@crd.yokogawa.co.jp (Kinichi - Kinchan - Kitano)
Subject: comp.lang.c Answers to Frequently Asked Questions (FAQ List) in Japanese[1/4]
Sender: news@leia.pa.yokogawa.co.jp (Leia news server)
Message-ID: <KITANO.97Jul15022842@crd.yokogawa.co.jp>
Supersedes: <KITANO.96Feb26184429@SDA.crd.Yokogawa.CO.JP>
Date: Mon, 14 Jul 1997 17:28:42 GMT
Reply-To: kitano@crd.yokogawa.co.jp
Organization: Yokogawa Electric Corporation, Tokyo, Japan.
Followup-To: fj.lang.c
Lines: 1475
Xref: galaxy.trc.rwcp.or.jp fj.archives.answers:1286 fj.lang.c:1208
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.c&nb=1208&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.

Archive-name: c-faq-j/part1
Last-modified: 14 July. 1997


========================= C FAQ $BF|K\8lLu(B[1/4](B (J=========================(B

[1997$BG/(B7$B7n(B14$BF|JQ99(B $BKLLn(B $B6V0l(B]
($BLuCm(B:1996$BG/(B9$B7n(B5$BF|HG$K4p$E$/(B
($BF,$K(B[Last modified September 5, 1996 by scs.]$B$H$"$k$b$N(B))

$B$3$N5-;v$NCx:n8"$O(B1990$BG/$+$i(B1997$BG/$KEO$C$F(BSteve Summit$B$K5"B0$9$k!#=q@R(B
$B!X(BC Programming FAQs: Frequently Asked Questions$B!Y$NFbMF$rCx<T$H=PHG<R(B
$B$N5v2D$N85!"<R2q$X$N9W8%$N$?$a$K;HMQ$7$F$$$k!#$3$N(BFAQ$B$O=q@RHG$rJdB-$9(B
$B$k$3$H$r0U?^$H$7$F$$$k!#FbMF$O3F9q$NCx:n8"K!$K$h$C$F<i$i$l$k!#(B($BLuCm(B:$BF|(B
$BK\8lHG$NCx:n8"$OKLLn(B $B6V0l$K5"B0$9$k!#(B)

***

$B$3$N%K%e!<%9%0%k!<%W(B(comp.lang.c)$B$K2?EY$b=P$F$/$kOCBj$,$"$k!#$=$l$i$O(B
$B$b$C$H$b$J<ALd$G$"$j!"Ez$($b$9$0$K=P$F$3$J$$$b$N$b$"$k!#$7$+$7OCBj$K$N(B
$B$\$k$?$S$K!"%M%C%H%o!<%/$N;q8;$HFI<T$N;~4V$,!"JVEz$H$=$&$$$&JVEz$K$D$-(B
$B$b$N$N8mEz$ND{@5$H$$$&ITLS$J$3$H$KHq$d$5$l$k!#(B

$B$3$N5-;v$OKh7nEj9F$9$k!#L\E*$O!"$3$l$i$N7+$jJV$5$l$k<ALd$KE*3N$K$+$D4J(B
$BL@$KEz$($k$3$H$K$h$j!"%M%C%H%o!<%/$G$N5DO@$,$b$C$H7z@_E*$JOCBj$K0\9T$9(B
$B$k$h$&$K$b$C$F$$$/$3$H$G$"$k!#(B
($BLuCm(B:$BF|K\8lHG$O8=:_$N$H$3$m!"JQ99=$@5$7$?$H$-$K$@$1Ej9F$7$F$$$k(B)

$B$I$s$J$KM%$l$?5-;v$b!"A4HO0O$r%+%P!<$9$k652J=q$d(BC$B8@8l$N%^%K%e%"%k$rCm(B
$B0U?<$/FI$`$3$H$NBeMQ$H$O$J$i$J$$!#(BC$B8@8l$K4X?4$,$"$C$F!"$3$N%0%k!<%W$r(B
$BFI$b$&$H$9$k<T$G$"$l$P!"$3$l$i$N%^%K%e%"%k$r2?:}$+!"$G$-$l$P?t2sFI$`$3(B
$B$H$K$b4X?4$rJ'$&$3$H$G$"$m$&!#;DG0$J$,$i(BC$B8@8l$NK\$d%3%s%Q%$%i$N%^%K%e(B
$B%"%k$NCf$K$OE,@Z$G$J$$J*$,$"$k!#$R$I$$$b$N$K$J$k$H!"$3$N5-;v$,O@GK$7$h(B
$B$&$H$7$F$$$kLB?.$r$3$N@$$K;D$9$N$K9W8%$7$F$$$k!#(BC$B8@8l$K4X$9$kK\$GCmL\(B
$B$KCM$9$kK\$O$3$N5-;v$N;29M=q0lMw$K5s$2$F$"$k!#6=L#$r;}$C$?FI<T$NJY6/$N(B
$B=u$1$K$J$k$h$&$K!"B?$/$N<ALd$d2rEz$K$O!"$3$l$i$NK\$N;29M$9$Y$-%Z!<%8$r(B
$B$D$1$F$"$k(B(ANSI$B$H(BISO C$B$N0c$$$KCm0U$9$k$3$H!#$^$?<ALd(B11.1$B$r;2>H$N$3$H(B)$B!#(B
($BLuCm(B: $B;29M=q$N%Z!<%8HV9f$O;29M=q$N86Cx$N$b$N$G$"$C$F3F;29M=q$NF|K\8l(B
$BHG$N%Z!<%8HV9f$G$O$J$$!#(B)

C$B$K4X$9$k<ALd$G$3$NK\$KEz$($N:\$C$F$$$J$$$b$N$,$"$l$P!"$G$?$H$3>!Ii$G(B
$B%M%C%H$K<ALd$9$k$N$G$O$J$/!"652J=q$r2?:}$+$"$?$k$+Gn<1$JF1N=$KAjCL$9$k(B
$B$3$H!#%M%C%H$K$O<ALd$K4n$s$GEz$($F$/$l$k?M$,$?$/$5$s$$$k$1$l$I!"%M%C%H(B
$B$K;22C$9$k?M$,A}$($k$K$D$l!"0l$D$N<ALd$K$/$jJV$74s$;$i$l$k2rEz$NNL$d<A(B
$BLd$N?t$,$&$s$6$j$9$k%l%Y%k$^$GMh$D$D$"$k!#(B($B$b$7$b$3$N5-;v$K<ALd$d%3%a(B
$B%s%H$,$"$l$P!"$3$N5-;v$K%U%)%m!<$9$k$N$G$O$J$/%a%$%k$GJVEz$9$k$3$H!#(B---
$B$3$N5-;v$O%M%C%H%o!<%/$NIi2Y$r8:$i$9$N$,L\E*$G$"$C$FA}$d$9$3$H$,L\E*$J(B
$B$N$G$O$J$$(B---)

$B$3$N5-;v$O!"$h$/<ALd$5$l$k<ALd$r5s$2$k$@$1$G$J$/!"2?EY$b4s$;$i$l$k2rEz(B
$B$b$^$H$a$F$"$k!#$3$l$i$N2rEz$r$9$Y$FCN$C$F$$$?$H$7$F$b!"$3$N%j%9%H$r;~(B
$B@^$J$,$a$k$3$H$O!"ITCm0U$K%]%9%H$5$l$?<ALd$r8+$F$b!"Ez$($k$3$H$K;~4V$r(B
$BL5BL$K$7$J$$$3$H$KLrN)$D!#(B

$B$3$N5-;v$O(B1996$BG/(B9$B7n(B5$BF|$K:G8e$K=$@5$7$?!#$3$N5-;v$,(BUsenet$B$N2f$,2H$rN%$l(B
$B$F$+$i$9$4$/1s$/$^$GN9$7$?$+$b$7$l$J$$!#:#$H$J$C$F$O;~BeCY$l$K$J$C$F$$(B
$B$k$+$b$7$l$J$$!#0u;z$5$l$?$b$N$d<j$KF~$l$?$j!"?7@8Be$N:"$N5-;v$rJ]B8$7(B
$B$F$$$k%5%$%H$+$i0z$CD%$j=P$7$F$-$?$j!"(BCD-ROM$B$+$i<j$KF~$l$?$H$9$l$P!"$H(B
$B$j$o$1;~BeCY$l$K$J$C$F$$$k2DG=@-$,$"$k!#:G?7HG$O>o$K(Bftp.eskimo.com$B$^$?(B
$B$O(Brtfm.mit.edu$B$d(Bftp.uu.net$B$+$i(Banonymous ftp$B2DG=$G$"$k(B($B<ALd(B18.16$B$H(B20.40
$B$r;2>H$N$3$H(B)$B!#$"$k$$$O!V(Bhelp$B!W$HK\J8$K=q$$$F(Bmail-server@rtfm.mit.edu
$B$KEE;R%a!<%k$rAw$k$3$H$G$b:G?7HG$r<j$KF~$l$k$3$H$,$G$-$k!#$H$-$I$-$3$N(B
FAQ$B$K$O=$@5$,F~$k$N$G!"<ALd$NHV9f$O=P$^$o$C$F$$$k8E$$HG$d>-Mh$NHG$H0c(B
$B$&$+$b$7$l$J$$!#(BFAQ$B$NFbMF$r<ALd$NHV9f$G;X$9$H$-$OCm0U$9$k$3$H!#(B
($BLuCm(B:$BF|K\8lHG$O(Bftp.kuamp.kyoto-u.ac.jp$B$N(Bpub/cfaq$B$+$i(Banonymous ftp 
$B2DG=$G$"$k!#(B)

$B$J$*!"$3$N5-;v$OL5NA$GG[I[$9$k$3$H$r0U?^$7$F:n@.$7$?!#<j$KF~$l$k$N$KC/(B
$B$+$K$*6b$rJ'$&I,MW$O$J$$!#(B

$B$3$N5-;v$OJL$N7ABV$G$bDs6!$7$F$$$k!#$3$N5-;v$KH<$C$F4JN,HG$H!"(B($BFbMF$r(B
$BJQ99$7$?$H$-$O(B)$BA02s$NHG$H$N:9$N0lMw$r%]%9%H$9$k!#%O%$%Q!<%F%-(B
$B%9%HHG$,$$$/$D$+(Bworld-wide web(WWW)$B>e$GMxMQ2DG=$G$"$k!#(B
<http://www.eskimo.com/~scs/C-faq/top.html>$B$r;2>H$N$3$H!#(B
$B:G8e$K!"@=K\$5$l$?%O!<%I%3%T!<HG(B($BEz$($O$b$C$HD9$$$7!"<ALd$N?t$bB?$$(B)$B$N$[(B
$B$&$,$$$$?M$K$O!"K\$H$7$F$J$j$?$D$@$1$ND9$5$r;}$C$?HG$,(BAddison-Wesley$B$+(B
$B$i(B1995$BG/$N=)$K=PHG$5$l$?(B(ISBN 0-201-84519-9)$B!#(B
($BLuCm(B:$BF|K\8lHG$O(B1997$BG/(B3$B7n$K%H%C%Q%s$+$i!X(BC$B%W%m%0%i%_%s%0(BFAQ C$B%W%m%0%i%_%s%0$N(B
$B$h$/?R$M$i$l$k<ALd!Y$H$7$F=PHG$5$l$?!#(B)

$B$3$N5-;v$O@d$($:2~A1$5$l$F$$$k!#$"$J$?$+$i$N>pJs$r4?7^$9$k!#%3%a%s%H$O(B
scs@eskimo.com$B$^$G!#(B

($BLuCm(B:$BF|K\8l$K$h$k%3%a%s%H!"F|K\8lHG$KBP$9$k%3%a%s%H$O(B
kitano@crd.yokogawa.co.jp$B$^$G(B)

$B<ALd$O0J2<$N$h$&$K!"$$$/$D$+$N<oN`$KJ,N`$5$l$k!#(B

 1. $B@k8@$H=i4|2=(B
 2. $B9=B$BN!"Ns5sBN!"6&MQBN(B
 3. $B<0(B
 4. $B%]%$%s%?(B
 5. $B%L%k%]%$%s%?(B
 6. $BG[Ns$H%]%$%s%?(B
 7. $B%a%b%j$N3d$jIU$1(B
 8. $BJ8;z$HJ8;zNs(B
 9. $B%V!<%k<0$HJQ?t(B
10. C$B%W%j%W%m%;%C%5(B
11. ANSI/ISO$B5,3J(BC
12. $BI8=`F~=PNO(B(stdio)$B%i%$%V%i%j(B
13. $B%i%$%V%i%j4X?t(B
14. $BIbF0>.?tE@(B
15. $B2DJQ?t0z?t%j%9%H(B
16. $B4qL/$JLdBj(B
17. $B%9%?%$%k(B
18. $BF;6q$H;q8;(B
19. $B%7%9%F%`0MB8(B
20. $B$=$NB>(B

($B<ALd$NHV9f$,O"B3$K?6$i$l$F$J$$$N$O!"@h$[$I=R$Y$?=q@RHG$K9g$o$;$F$"$k(B
$B$+$i$G$"$k!#=q@RHG$K$O$b$C$HB?$/$N<ALd$,:\$C$F$$$k!#(B)

$B$h$/$"$k<ALd$H$=$N<ALd$NEz$,$3$3$+$i;O$^$k!#(B
1$B>O(B. $B@k8@$H=i4|2=(B

1.1:$B$I$N@0?t7?$r;H$($P$h$$$+!"$I$&$d$C$F7h$a$l$P$h$$$+!#(B

A:$BBg$-$JCM(B(32,767$B$h$jBg$-$JCM$+!"(B-32,767$B$h$j>.$5$$CM(B)$B$,I,MW$J$i(B
long$B$r;H$&!#$b$7%a%b%j$N8zN($r5$$K$9$k$J$i(B($BNc(B:$BBg$-$JG[Ns$,$"$k(B
$B$H$+9=B$BN$,$?$/$5$s$"$k$J$I(B)short$B$r;H$&!#$I$&$G$b$$$$$J$i(Bint
$B$r;H$&!#%*!<%P!<%U%m!<$N;~$N@-<A$NL@3N$J$3$H$,Bg;v$GIi$NCM$,IT(B
$BMW$J$i!"$"$k$$$O%S%C%H$d%P%$%H$rA`:n$9$k:]$NId9g3HD%$NLdBj$H$+(B
$B$+$o$j$?$/$J$$$J$iBP1~$9$kId9f$J$7$N@0?t$r;H$&(B($B$?$@$7Id9fIU$-(B
$B$HId9f$J$7$N@0?t$N:.:_$K$OCm0U$9$k$3$H(B)$B!#(B

$BJ8;z%G!<%?7?$r(B($BFC$K(Bunsigned char$B$r(B)"$B>.$5$J(B"$B@0?t$H$7$F;H$&$3$H(B
$B$O$G$-$k$,!"$=$&$9$k$3$H$K$h$kM=A[ITG=$JId9f3HD%$NLdBj$H%3!<%I(B
$B%5%$%:$NA}2C$r9M$($k$H!"$=$N2ACM$h$j$bH<$&LLE]$N$[$&$,Bg$-$/$J(B
$B$k>l9g$,$"$k!#(B(unsigned char$B$r;H$&$3$H$O=u$1$K$J$k!#4XO"$9$kLd(B
$BBj$K$D$$$F$O<ALd(B12.1$B$r;2>H$N$3$H(B)

$BF1$8$h$&$J6u4V$H=hM};~4V$rE7Gi$K$+$1$kOC$,!"(Bfloat$B$r;H$&$Y$-$+(B
double$B$r;H$&$Y$-$+$N5DO@$K$b$"$F$O$^$k!#JQ?t$N%"%I%l%9$,I,MW$G!"(B
$B$=$N%"%I%l%9$N7?$,FCDj$N7?$G$J$1$l$P$J$i$J$$>l9g$O!">e5-$N5,B'(B
$B$OL@$i$+$K$"$F$O$^$i$J$$!#(B

$B$J$s$i$+$NM}M3$G7h$^$C$?Bg$-$5$K2?$+$r@k8@$9$kI,MW$,$"$k$H$-$b!"(B
$B<+J,$,A*Br$7$?J}K!$rE,@Z$J(Btypedef$B$G1#$9$3$H(B($B$3$s$J$3$H$r$7$J$1(B
$B$l$P$$$1$J$/$J$k$N$O!"$?$$$F$$30$+$i2!$7IU$1$i$l$?J]B8NN0h$N7A$K(B
$B9g$o$;$k$?$a$G$"$k!#$3$N$h$&$J>l9g$K$D$$$F$O<ALd(B20.5$B$r;2>H$N$3(B
$B$H(B)$B!#$I$N%G!<%?7?$rA*$s$@$H$7$F$bE,@Z$J(Btypedef$B$G1#$9$3$H!#(B

References: K&R1 Sec. 2.2 p. 34; K&R2 Sec. 2.2 p. 36, Sec. A4.2
pp. 195-6, Sec. B11 p. 257; ANSI Sec. 2.2.4.2.1, Sec. 3.1.2.5;
ISO Sec. 5.2.4.2.1, Sec. 6.1.2.5; H&S Secs. 5.1,5.2 pp. 110-114.

1.4:$B:G6aEP>l$7$?(B64$B%S%C%H%^%7%s$N!"(B64$B%S%C%H@0?t$N%G!<%?7?$O2?$G$"$k(B
$B$Y$-$+!#(B

A:64$B%S%C%H%^%7%s8~$1$N(BC$B8@8l$N%Y%s%@!<$N0lIt$O!"(B64$B%S%C%HD9$N@0?t(B
$B7?$rDs6!$7$F$$$k!#4{B8$N%3!<%I$N$"$^$j$K$bB?$/$,(Bint$B$H(Blong$B$NBg(B
$B$-$5$,F1$8$G$"$k$H$+!"$I$A$i$+$,$-$C$A$j(B32$B%S%C%H$G$"$k$H;W$$$3(B
$B$s$G=q$+$l$F$$$k$3$H$r7|G0$7$F!"I8=`$G$O$J$$?7$7$$(B64$B%S%C%HD9$N(B
$B%G!<%?7?(Blong long($B$"$k$$$O(B__longlong)$B$rBe$o$j$KMQ0U$7$?$H$3$m(B
$B$b$"$k!#(B

$B0\?"@-$N9b$$%3!<%I$r=q$/$3$H$K4X?4$N$"$k%W%m%0%i%^$O!"(B64$B%S%C(B
$B%H$NBg$-$5$N%G!<%?7?$rE,@Z$J(Btypedef$B$G1#$5$J$1$l$P$J$i$J$$!#?7(B
$B$7$$!"$b$C$HBg$-$J@0?t7?$rF3F~$;$6$k$r$($J$$$H9M$($F$$$k%Y%s%@!<(B
$B$O!"?7$7$$@0?t7?$r!V>/$J$/$H$b(B64$B%S%C%H$"$k!W(B($B$=$l$OK\Ev$K?7$7(B
$B$$7?$G$"$k!#=>Mh$N(BC$B$K$O$J$$(B)$B$H@kEA$9$Y$-$G!"!V$T$C$?$j(B64$B%S%C%H!W(B
$B$H$O@kEA$9$Y$-$G$O$J$$!#(B

References: ANSI Sec. F.5.6; ISO Sec. G.5.6.

1.7:$B30ItJQ?t$r@k8@!"Dj5A$9$k0lHV$h$$J}K!$O!#(B

A:$B$^$:!"(B1$B$D$N%0%m!<%P%k(B($B87L)$K$$$($P30It(B)$BJQ?t$d4X?t$K!"J#?t$N(B"$B@k(B
$B8@(B"$B$,(B($B$?$/$5$s$NJQ49C10L$K(B)$BB8:_$7$F$b$$$$$,!"(B"$BDj5A(B"$B$O$?$@(B1$B$D$7(B
$B$+B8:_$7$F$O$J$i$J$$!#(B($BDj5A$H$O<B:]$K>l=j$r3d$jIU$1$k@k8@$G!"(B
$B=i4|CM$,$"$k$H$-$O=i4|CM$rM?$($k!#(B) $B0lHV$h$$<h$j7h$a(B
(arrangement)$B$O!"3FDj5A$r4XO"$9$k(B.c$B%U%!%$%k$KCV$-!"30It@k8@$r(B
$B%X%C%@%U%!%$%k(B(".h")$B$KCV$/$3$H$G$"$k!#$=$7$F%X%C%@%U%!%$%k(B
$B$r@k8@$,I,MW$K$J$C$?$iI,$:(B#include$B$9$k!#Dj5A$r$U$/$s$@(B
(contain).c$B%U%!%$%k$bF1$8%X%C%@%U%!%$%k$r(B#include$B$7$F!"%3%s(B
$B%Q%$%i$,Dj5A$H@k8@$r>H$i$79g$o$;$k$3$H$,$G$-$k$h$&$K$9$k!#(B

$B$3$N5,B'$O0\?"2DG=@-$NEY9g$r9b$a$k!#(BANSI C$B5,3J$,MW5a$9$k$H$3$m(B
$B$H0lCW$7!"(BANSI C$B5,3J$,$G$-$kA0$N%3%s%Q%$%i$d%j%s%+$NB?$/$NF0(B
$B:n$H$b0lCW$9$k!#(B(Unix$B$N%3%s%Q%$%i$d%j%s%+$O!V6&DL%b%G%k(B
(common model)$B!W$r;H$&!"$3$l$O(B2$B2s0J>e=i4|2=$5$l$J$$$+$.$jJ#?t(B
$B$NDj5A$r5v$9$b$N$G$"$k!#$3$NF0:n$O!V6&DL$N3HD%(B(common
extension)$B!W$H$7$F(BANSI C$B5,3J$K=P$F$/$k!#N>J}$H$b!V6&DL!W$,$D$/(B
$B$1$l$I6&DLE@$O$J$$!#$$$/$D$+$NK\Ev$K4qL/$J%7%9%F%`$ODj5A$H30It(B
$B@k8@$r6hJL$9$k$N$KL@<(E*$J=i4|2=;R(B(initializer)$B$rI,MW$H$9$k$+(B
$B$b$7$l$J$$!#(B)

$B%W%j%W%m%;%C%5$r9*$_$K;H$C$F0J2<$N$h$&$J9T$r!"(B

DEFINE(int, i);

$B$?$@(B1$B$D$N%X%C%@%U%!%$%k$K(B1$BEY$@$1=q$$$F%^%/%m$N@_Dj$K1~$8$F(B
$BDj5A$K$7$?$j@k8@$K$7$?$j$9$k$3$H$O2DG=$G$"$k!#$7$+$7!"$3$&$^$G(B
$B$9$kI,MW$,$"$k$+$I$&$+$O5?Ld$G$"$k!#(B

$B%X%C%@%U%!%$%k$K%0%m!<%P%k@k8@$rCV$/$3$H$O!"@k8@$NL7=b$r%3%s(B
$B%Q%$%i$KJa$^$($5$;$k$D$b$j$J$iBg@Z$G$"$k!#@dBP$K30It4X?t$N%W(B
$B%m%H%?%$%W$r(B.c$B%U%!%$%k$KCV$$$F$O$J$i$J$$!#0lHL$K!"(B.c$B$KCV$+$l(B
$B$?%W%m%H%?%$%W$O<B:]$N@k8@$H$N0l4S@-$r%A%'%C%/$5$l$k$3$H$O$J$$(B
$B$7!"<B:]$NDj5A$HL7=b$7$?%W%m%H%?%$%W$OM-32L51W$G$"$k!#(B

$B<ALd(B10.6$B$H(B18.8$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 4.5 pp. 76-7; K&R2 Sec. 4.4 pp. 80-1; ANSI
Sec. 3.1.2.2, Sec. 3.7, Sec. 3.7.2, Sec. F.5.11; ISO
Sec. 6.1.2.2, Sec. 6.7, Sec. 6.7.2, Sec. G.5.11; Rationale
Sec. 3.1.2.2; H&S Sec. 4.8 pp. 101-104, Sec. 9.2.3 p. 267; CT&P
Sec. 4.2 pp. 54-56.

1.11:$B4X?t@k8@$K$D$$$?(Bextern$B$O2?$r0UL#$9$k$N$+!#(B

A:$B$3$&$$$&=q$-J}$r$9$k$3$H$G!"4X?t$NDj5A$,$?$V$sJL$N%=!<%9%U%!%$(B
$B%k$K$"$k$H$$$&$3$H$r!"$[$N$a$+$9$3$H$,$G$-$k!#$7$+$70J2<$N(B2$B$D(B
$B$K0c$$$O$J$$!#(B

extern int f();

int f();

References: ANSI Sec. 3.1.2.2, Sec. 3.5.1; ISO Sec. 6.1.2.2,
Sec. 6.5.1; Rationale Sec. 3.1.2.2; H&S Secs. 4.3,4.3.1 pp. 75-
6.

1.12:auto$B$H$$$&%-!<%o!<%I$O2?$NLr$KN)$D$N$+!#(B

A:$B2?$b$J$$!#$=$l$O;~BeCY$l$@!#<ALd(B20.37$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. A8.1 p. 193; ANSI Sec. 3.1.2.4,
Sec. 3.5.1; ISO Sec. 6.1.2.4, Sec. 6.5.1; H&S Sec. 4.3 p. 75,
Sec. 4.3.1 p. 76.

1.14:$B%j%s%/IU$-%j%9%H$r$&$^$/Dj5A$9$k$3$H$,$G$-$J$$!#(B

typedef struct {
char *item;
NODEPTR next;
} *NODEPTR;

$B>e$N@k8@$r;n$7$?$,%3%s%Q%$%i$O%(%i!<$rJV$9!#(BC$B$N9=B$BN$O<+?H$X(B
$B$N%]%$%s%?$r4^$`$3$H$,$G$-$J$$$N$+!#(B

A:C$B$N9=B$BN$O!"<+?H$X$N%]%$%s%?$rMWAG$H$7$F;}$D$3$H$,$G$-$k!#(B
K&R$B$N(B6.5$B>O$N5DO@$HNc$,!"$3$NE@$rL@$i$+$K$7$F$/$l$k!#>e$N@k8@(B
$BLdBj$O(BNODEPTR$B$N(Btypedef$B$,!V(Bnext$B!W%U%#!<%k%I$r@k8@$7$?;~E@$G(B
$B$O40@.$7$F$$$J$$$3$H$G$"$k!#=$@5$9$k$K$O:G=i$K9=B$BN$K%?%0$rIU(B
$B$1(B($B!V(Bstruct node$B!W(B)$B!"<!$K(Bnext$B%U%#!<%k%I$r!V(Bstruct node *$B!W$H$7(B
$B$F@k8@$9$k$+!"(Btypedef$B$N@k8@$H9=B$BN$NDj5A$rJ,N%$7$F!"(Btypedef$B$N(B
$B@k8@$r9=B$BN$NDj5A$N$^$k$C$-$jA0$+!"$^$k$C$-$j8e$m$K;}$C$F$/$k!#(B
$B>e$N=$@5$rN>J}9T$J$C$F$b$h$$!#=$@0HG$N(B1$B$D$O0J2<$N$h$&$K$J$k!#(B

struct node {
char *item;
struct node *next;
};

typedef struct node *NODEPTR;

$B>/$J$/$H$bB>$KF1$8$/$i$$@5$7$$JB$YJ}$,(B3$B<oN`$N$"$k!#(B

$B8_$$$K;2>H$7$"$&9=B$BN$NAH$r(Btypedef$B$7$h$&$H$9$k$H!"F1$8$h$&$J(B
$BLdBj$,;}$A>e$,$k$N$G!"F1$8$h$&$J2r7h:v$r<h$l$P$$$$!#(B

$B<ALd(B2.1$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 6.5 p. 101; K&R2 Sec. 6.5 p. 139; ANSI
Sec. 3.5.2, Sec. 3.5.2.3, esp. examples; ISO Sec. 6.5.2,
Sec. 6.5.2.3; H&S Sec. 5.6.1 pp. 132-3.

1.21:char$B$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s(B
$B%?(BN$B8D$+$i$J$kG[Ns$r$I$&$d$C$F@k8@$9$l$P$h$$$+!#(B

A:$B$3$N<ALd$O>/$J$/$H$b(B3$B$D$NJ}K!$GEz$($k$3$H$,$G$-$k!#(B

1. char *(*(*a[N])())();

2. $B@k8@$r(Btypedef$B$r;H$C$FCJ3,E*$K:n$j=P$9!#(B

typedef char *pc;/* char$B$X$N%]%$%s%?(B */
typedef pc fpc();/* char$B$X$N%]%$%s%?$rJV$94X?t(B */
typedef fpc *pfpc;/* $B>e5-$X$N%]%$%s%?(B */
typedef pfpc fpfpc();/*  $B!D$rJV$94X?t(B */
typedef fpfpc *pfpfpc;/*  $B!D$r;X$9%]%$%s%?(B */
pfpfpc a[N];/*  $B!D$NG[Ns(B */

3. $B%W%m%0%i%`(Bcdecl$B$r;H$&!#(Bcdecl$B$O1Q8l$G=q$$$?@k8@$r(BC$B$NJQ?t@k8@(B
$B$KJQ49$7!"$^$?$=$N5UJQ49$r9T$&!#(B

cdecl> declare a as array of pointer to function returning pointer
to function returning pointer to char
char *(*(*a[])())()

cdecl$B$O!"J#;($J@k8@$r%-%c%9%H$r;H$C$F@bL@$7$F$/$l$k$7!"0z?t$,(B
$B$I$N3g8L$NAH$KF~$k$+<($7$F$/$l$k(B($B>e5-$N$h$&$JJ#;($J4X?t$NDj5A(B
$B$G$O(B)$B!#(Bcdecl$B$O(Bcomp.sources.unix$B$N%\%j%e!<(B
$B%`(B14$B$KJ]B8$5$l$F$$$k$7(B($B<ALd(B18.16$B;2>H(B)K&R$BBh(B2$BHG$K$bJL$N(Bcdecl$B$,=P$F$$$k!#(B

C$B$K4X$9$k$I$s$J$h$$652J=q$b!"$3$l$i$NJ#;($J(BC$B$N@k8@$r!VFb$+$i30(B
$B$X!WFI$`J}K!$K$D$$$F65$($F$/$l$k(B("$B@k8@$O$=$N;H$o$l$+$?$r??;w$k(B")$B!#(B

$B>e$NNc$N4X?t$X$N%]%$%s%?$N@k8@$O0z?t$N7?$N>pJs$r4^$s$G$$$J$$!#(B
$B0z?t$,J#;($J7?$r4^$`$H$-$O!"@k8@$OK\Ev$K:.Mp$7$?$b$N$H$J$k(B($B$3(B
$B$3$G$b?7$7$$HG$N(Bcdecl$B$OLr$KN)$D(B)$B!#(B

References: K&R2 Sec. 5.12 p. 122; ANSI Sec. 3.5ff (esp.
Sec. 3.5.4); ISO Sec. 6.5ff (esp. Sec. 6.5.4); H&S Sec. 4.5 pp.
85-92, Sec. 5.10.1 pp. 149-50.

1.22:$BF1$87?$r;}$D4X?t$X$N%]%$%s%?$rJV$9$3$H$N$G$-$k4X?t$r$I$&$d$C(B
$B$F@k8@$9$l$P$h$$$+!#:#!">uBV%^%7%s$r:n$C$F$$$k!#$3$N>uBV%^%7%s(B
$B$N>uBV$4$H$K4X?t$rMQ0U$9$k!#$=$7$F3F4X?t$,<!$N>uBV$N4X?t$X$N%](B
$B%$%s%?$rJV$9!#$1$l$I!"$3$&$$$&4X?t$r@k8@$9$kJ}K!$,8+$D$+$i$J(B
$B$$!#(B

A:$BD>@\$KDj5A$9$k$3$H$O$G$-$J$$!#HFMQ$N4X?t%]%$%s%?$rJV$94X?t$r(B
$BMQ0U$7$F!"%]%$%s%?$rEO$9$?$S$K4X?t$N7?$K$"$o$;$F?5=E$K%-%c%9(B
$B%H$r9T$&!#$^$?$O4X?t$,9=B$BN$rJV$9$h$&$K$9$k!#$=$N9=B$BN$O!"$=(B
$B$N4X?t$X$N%]%$%s%?$@$1$r%a%s%P!<$K;}$D$h$&$K$9$k!#(B

1.25:$B;d$,;H$C$F$$$k%3%s%Q%$%i$O4X?t$NL58z$J:F@k8@$@$HJ86g$rIU$1$k!#(B
$B0lEYDj5A$7$F!"(B1$B2s8F$s$G$k$@$1$J$N$K!#(B

A:$B4X?t$r8F$S=P$9$H$3$m$N%9%3!<%WFb$K4X?t$N@k8@$,$J$$$H$-$O(B($B$*$=(B
$B$i$/:G=i$N4X?t8F$S=P$7$,4X?t$NDj5A$h$jA0$K$"$k$+$i$@$m$&(B)$B$=$N(B
$B4X?t$O(Bint$B$rJV$9(B($B$+$D0z?t$N%G!<%?7?$N>pJs$J$7(B)$B$H@k8@$5$l$F$$$k(B
$B$H9M$($k!#$=$N$?$a!"8e$G4X?t$,(Bint$B0J30$rJV$9$H@k8@$5$l$k$HIT0l(B
$BCW$,@8$8$k!#(Bint$B$rJV$5$J$$4X?t$O!"8F$S=P$9A0$K@k8@$7$J$1$l$P$J(B
$B$i$J$$!#(B

$B$=$N30$K9M$($i$l$kLdBj$N<o$O!"$=$N4X?t$,%X%C%@%U%!%$%k$G@k8@(B
$B$5$l$F$$$kJL$N4X?t$HF1$8L>A0$r;}$C$F$$$k$3$H$G$"$k!#(B

$B<ALd(B11.3$B$d(B15.1$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 4.2 p. 70; K&R2 Sec. 4.2 p. 72; ANSI
Sec. 3.3.2.2; ISO Sec. 6.3.2.2; H&S Sec. 4.7 p. 101.

1.30:$BL@<(E*$K$O=i4|2=$5$l$F$$$J$$JQ?t$N=i4|CM$K$D$$$F!"$I$3$^$G0B?4(B
$B$7$F2>Dj$9$k$3$H$,$G$-$k$+!#%0%m!<%P%kJQ?t$N=i4|CM$,(B"0"$B$G=i4|(B
$B2=$5$l$k$N$J$i!"%L%k%]%$%s%?$dIbF0>.?t$K$D$$$F$b(B0$B$G$"$k$3$H(B
$B$,J]>Z$5$l$k$N$+!#(B

A:"$B@EE*$J(B"$B<wL?$r;}$DJQ?t(B($B$9$J$o$A!"4X?t$N30$G@k8@$7$?JQ?t$d5-(B
$B210h%/%i%9$r(Bstatic$B$H@k8@$7$?JQ?t(B)$B$O!"%W%m%0%i%^$,!V(B=0$B!W$HBG(B
$B$A9~$s$@$+$N$h$&$K!"(B0$B$K(B($B%W%m%0%i%`$NN)$A>e$,$j;~$K0lEY$@$1(B)$B=i(B
$B4|2=$5$l$k$3$H$,J]>Z$5$l$F$$$k!#$9$J$o$A%]%$%s%?$O(B($B@5$7$$7?(B
$B$N(B:5$B>O;2>H(B)$B%L%k%]%$%s%?$K!"IbF0>.?tE@?t$O(B0.0$B$K=i4|2=$5$l$k!#(B

"$B<+F0$N(B(automatic)"$B<wL?$r;}$DJQ?t(B($B$9$J$o$A!"5-210h%/%i%9$r(B
static$B$H@k8@$7$F$$$J$$%m!<%+%kJQ?t(B)$B$NCf?H$O!"L@<(E*$K=i4|2=$7(B
$B$J$$8B$j!"%4%_$G$"$k(B($B%4%_$,Lr$KN)$D$+$I$&$+$O!"M=B,$G$-$J$$(B)$B!#(B

malloc()$B$d(Brealloc()$B$r;H$C$FF0E*$K3d$jIU$1$?NN0h$b!"Cf?H$O%4%_$G(B
$B$"$k$H9M$($?$[$&$,$$$$!#$@$+$i8F$S=P$7$?B&$N%W%m%0%i%`$GE,@Z$K(B
$B=i4|2=$7$J$1$l$P$J$i$J$$!#(Bcalloc()$B$K$h$C$F3d$jIU$1$?NN0h$O$9$Y$F(B
$B$N%S%C%H$,(B0$B$G$"$k!#$7$+$7!"$3$N=i4|2=$b!"%]%$%s%?JQ?t$dIbF0>.(B
$B?tE@?t$NJQ?t$KBP$7$F$OI,$:$7$bLr$K$?$?$J$$(B(5$B>O$H<ALd(B7.31$B$r;2>H(B)$B!#(B

References: K&R1 Sec. 4.9 pp. 82-4; K&R2 Sec. 4.9 pp. 85-86;
ANSI Sec. 3.5.7, Sec. 4.10.3.1, Sec. 4.10.5.3; ISO Sec. 6.5.7,
Sec. 7.10.3.1, Sec. 7.10.5.3; H&S Sec. 4.2.8 pp. 72-3, Sec. 4.6
pp. 92-3, Sec. 4.6.2 pp. 94-5, Sec. 4.6.3 p. 96, Sec. 16.1 p.
386.

1.31:$B2<$N%3!<%I!"K\$+$i$=$N$^$^<L$7$?$N$K!"%3%s%Q%$%k$G$-$J$$!#(B

f()
{
char a[] = "Hello, world!";
}

A:$B$?$V$s!"7/$N;H$C$F$$$k%3%s%Q%$%i$O(BANSI$B5,3J$,$G$-$kA0$N$b$N$G(B
$B!V(Bauto$B$N=8@.BN7?(B(automatic aggregates)$B!W(B($BNc(B:static$B$G$J$$%m!<%+(B
$B%k$JG[Ns$d9=B$BN(B)$B$N=i4|2=$r5v$7$F$J$$!#2sHr:v$H$7$F$O!"G[Ns$r(B
static($B$b$7!"$=$N8e$N8F$S=P$7$G??$C?7$J%3%T!<$,I,MW$G$J$$$J$i(B)
$B$+%0%m!<%P%k$K$9$k!"$^$?$O%]%$%s%?$GBeMQ$9$k(B($B$b$79TNs$K=q$-9~(B
$B$`$3$H$,$J$$$N$J$i(B)$B!#(B($B%m!<%+%k$N(Bchar *$BJQ?t$rJ8;zNs%j%F%i%k$r;X(B
$B$9$h$&$K=i4|2=$9$k$3$H$O$$$D$G$b2DG=$G$"$k!#$?$@$70J2<$N<ALd(B
1.32$B$r;2>H$N$3$H(B)$B!#>e$N$I$N>r7o$b$"$F$O$^$i$J$$$J$1$l$P!"(Bf()$B$r(B
$B8F$V$H$3$m$G(Bstrcpy()$B$r;H$C$FG[Ns$r<+J,$N<j$rHQ$o$7$F=i4|2=$9$k(B
$BI,MW$,$"$k!#<ALd(B11.29$B$b;2>H$N$3$H!#(B

1.31a:$B0J2<$N=i4|2=$N$I$3$,$^$:$$$N$+!#(B

char *p = malloc(10);

$B%3%s%Q%$%i$O!V0cK!$J=i4|2=!W$H$+$J$s$H$+$HJ86g$rIU$1$k!#(B

A:$B$3$l$O@EE*JQ?t$d%m!<%+%k$G$J$$JQ?t$N@k8@$+!#(B
$B4X?t8F$S$@$7$O!"$=$N$h$&$JJQ?t$N=i4|2=;R$H$7$F$O5v$5$l$F$$$J$$!#(B

1.32:$B0J2<$NFs$D$N=i4|2=$N0c$$$O!#(B

char a[] = "string literal";
char *p  = "string literal";

p[i]$B$K?7$7$$CM$rBeF~$7$h$&$H$9$k$H%W%m%0%i%`$,%/%i%C%7%e$9$k!#(B

A:$BJ8;zNs%j%F%i%k$K$O(B2$B<oN`$N>/$70c$C$?;H$$F;$,$"$k!#G[Ns$N=i4|(B
$B2=;XDj;R(B(char a[]$B$N@k8@$G;H$&$h$&$J(B)$B$K;H$&$H$-$O!"$=$NG[Ns$N3F(B
$BJ8;z$N=i4|CM$r;XDj$9$k!#$=$NB>$N>l=j$G;H$&$H$-$O!"J8;z$NL>$J$7(B
$B$N@EE*$JG[Ns$H$J$k!#$3$N$H$-$O=q$-9~$_6X;_$N%a%b%j$KJ]B8$5(B
$B$l$k$+$b$7$l$J$$!#$@$+$iL5;v$KCM$rJQ99$G$-$J$$2DG=@-$,$"$k!#<0(B
$B$,I,MW$J>l=j$G$O!"$$$D$b$HF1$8$/(B(6$B>O$r;2>H$N$3$H(B)$BG[Ns$O$=$N>l(B
$B$G%]%$%s%?$KJQ49$5$l$k!#$@$+$i(B2$BHVL\$N@k8@$O(Bp$B$rL>$J$7$NG[Ns$N(B
$B:G=i$NMWAG$r;X$9$h$&$K=i4|2=$9$k!#(B

($B8E$$%3!<%I$r%3%s%Q%$%k$9$k$?$a$K!"J8;zNs$r=q$-9~$_2DG=$K$9$k(B
$B$+$I$&$+$r@)8f$9$k%9%$%C%A$r;}$C$F$$$k%3%s%Q%$%i$b$"$k!#(B)

$B<ALd(B1.31, 6.1, 6.2, 6.8$B$b;2>H$N$3$H!#(B

References: K&R2 Sec. 5.5 p. 104; ANSI Sec. 3.1.4, Sec. 3.5.7;
ISO Sec. 6.1.4, Sec. 6.5.7; Rationale Sec. 3.1.4; H&S Sec. 2.7.4
pp. 31-2.

1.34:$B$d$C$H$N$3$H$G4X?t$X$N%]%$%s%?$r@k8@$9$k9=J8$rM}2r$7$?!#$5$F(B
$B$I$&$d$C$F$3$l$r=i4|2=$9$l$P$h$$$+!#(B

A:$B0J2<$N$h$&$JJ}K!$r<h$k!#(B

extern int func();
int (*fp)() = func;

$B4X?tL>$,!"<0$K8=$o$l$?$,<B9T$5$l$J$$$H$-$OG[NsL>$HF1$8$h$&$K%](B
$B%$%s%?$K@.$j2<$,$k(B($B$D$^$j!"$=$N%"%I%l%9$,0EL[$N$&$A$K<h$i$l(B
$B$k(B)$B!#(B

$B0lHL$K4X?t$NL@<(E*$J@k8@$,I,MW$G$"$k!#$J$<$J$i$3$N>l9g!"0EL[$N(B
$B30It@k8@$O5/$3$i$J$$$+$i(B($B=i4|2=;R$K8=$l$k4X?t$NL>A0$O4X?t8F$S(B
$B=P$7$N0lIt$G$O$J$$$+$i(B)$B!#(B

$B<ALd(B1.25$B$H(B4.12$B$b;2>H$N$3$H!#(B

2$B>O(B $B9=B$BN!"6&MQBN!"Ns5sBN(B

2.1:$B0J2<$NFs$D$N@k8@$N0c$$$O!#(B

struct x1 { ... };
typedef struct { ... } x2;

A:$B:G=i$N7A$O!V9=B$BN%?%0!W$r@k8@$7$F$$$k!#(B2$B$DL\$N7A$O!V(Btypedef$B!W(B
$B$r@k8@$7$F$$$k!#<g$J0c$$$O(B1$B$DL\$N%G!<%?7?$O!V(Bstruct x1$B!W$H$7$F(B
$B;2>H$G$-$k$N$KBP$7(B2$B$DL\$N%G!<%?7?$O!V(Bx2$B!W$H$7$F;2>H$G$-$k!#$D(B
$B$^$j<g$J0c$$$O(B2$BHVL\$N@k8@$N$[$&$,>/$7$@$1Cj>]%G!<%?7?$i$7$$$3(B
$B$H$G$"$k!#;H$&B&$O(B $B$=$l$,9=B$BN$G$"$k$3$H$rCN$C$F$$$kI,MW$,$J(B
$B$$!#$^$?JQ?t$r@k8@$9$k:]$K(Bstruct$B$H$$$&%-!<%o!<%I$r;H$&I,MW$,$J(B
$B$$!#(B

2.2:$B$J$<0J2<$N%3!<%I$,$&$^$/F0$+$J$$$N$+!#(B

struct x { ... };
x thestruct;

A:C$B$O(BC++$B$G$O$J$$!#(Btypedef$B$7$?L>A0$O9=B$BN%?%0$H$7$F<+F0E*$K@8@.(B
$B$5$l$k$o$1$G$O$J$$!#>e$N<ALd(B2.1$B$b;2>H$N$3$H!#(B

2.3:$B9=B$BN$O<+?H$X$N%]%$%s%?$r%a%s%P!<$H$7$F4^$s$G$$$F$b$$$$$N$+!#(B

A:$B$b$A$m$s!#<ALd(B1.14$B$b;2>H$N$3$H!#(B

2.4:C$B$G$"$$$^$$$J(B($BCj>](B)$B%G!<%?7?$r<BAu$9$k0lHV$h$$<j$O!#(B

A:$B$h$$J}K!$N(B1$B$D$O;H$&B&$,9=B$BN$X$N%]%$%s%?$r(B($B$?$V$s(Btypedef$B$G1#(B
$B$9$3$H$^$G$7$F(B)$B;H$&$3$H$G$"$k!#$=$N%]%$%s%?$,!"Dj5A$7$F$"$k$3(B
$B$H$r8x3+$7$F$$$J$$9=B$BN%G!<%?7?$r;X$9!#(B
  
2.6:$B0J2<$N$h$&$K9=B$BN$rDj5A$7$F!"(B

struct name {
int namelen;
char namestr[1];
};

$B9*L/$K%a%b%j3d$jIU$1$r$7$F!"G[Ns(Bnamestr$B$,J#?t$NMWAG$r;}$D$h$&(B
$B$K?6$kIq$o$;$F$$$k%3!<%I$r8+$?!#$3$N%3!<%I$O5v$5$l$k$N$+!#0\?"(B
$B@-$O9b$$$N$+!#(B

A:$B$3$N5;9*$O?M5$$,$"$k!#$?$@$7(BDennis Ritchie$B$O!V(BC$B$N<BAu$X$N:,5r(B
$B$N$J$$Fk$lFk$l$7$5!W$H8F$s$G$$$k!#8x<0$J2r<a$K$h$k$H>e$N5;9*$O(B 
C$B$N5,3J$K87L)$K$O=`5r$7$F$$$J$$$H9M$($i$l$k!#(B($B$3$N5;K!$,@5$7$$(B
$B$+$I$&$+$r<h$j4,$/5DO@$r?T$/$9$3$H$O!"$3$N(BFAQ$B$N<iHwHO0O$r1[$((B
$B$F$$$k!#(B) $B$7$+$7@$$NCf$KCN$i$l$F$$$kA4$F$N%3%s%Q%$%i$N<BAu$G!"(B
$B$3$NJ}K!$O0\?"@-$,9b$$$h$&$G$"$k!#(B($BG[Ns$N6-3&$rCm0U?<$/%A%'%C(B
$B%/$9$k%3%s%Q%$%i$O7Y9p$r=P$9$+$b$7$l$J$$!#(B)

$BJL$N$d$jJ}$H$7$F$O!"2DJQD9$NMWAG$NBg$-$5$r!">.$5$/<h$k$N$G$O$J(B
$B$/!"Hs>o$KBg$-$/<h$k$3$H$,9M$($i$l$k!#>e$NNc$O0J2<$N$h$&$K=q$-(B
$B49$($k$3$H$,$G$-$k!#(B

...
char namestr[MAXSIZE];
...

$B$3$3$G(BMAXSIZE$B$OG[Ns(Bnamestr$B$KJ]B8$5$l$&$k$I$s$JL>A0$h$j$bBg$-$/(B
$B<h$k!#$7$+$7$J$,$i$3$N5;K!$b!"5,3J$N87L)$J2r<a$K$h$k$H5v$5$l$J(B
$B$$$h$&$@!#$5$i$K>e$N$I$A$i$N(B"chummy"$B9=B$BN$bCm0U$7$F;H$o$J$1$l(B
$B$P$J$i$J$$!#%W%m%0%i%^$N$[$&$,%3%s%Q%$%i$h$j$b9=B$BN$NBg$-$5$K(B
$B$D$$$FCN$C$F$$$k$+$i$G$"$k!#(B($BFC$K!"$3$&$7$?9=B$BN$O0lHL$K%]%$(B
$B%s%?$rDL$7$F$7$+A`:n$G$-$J$$!#(B)

References: Rationale Sec. 3.5.4.2.

2.7:$B9=B$BN$r!"JQ?t$KBeF~$9$k$3$H$b!"4X?t$K0z?t$H$7$FEO$9$3$H$b!"4X(B
$B?t$NLa$jCM$H$7$F$b;H$&$3$H$b$G$-$k$HJ9$$$?!#$1$l$I(BK&R$B=iHG$K$O(B
$B$G$-$J$$$H=q$$$F$"$k!#(B

A:K&R$B=iHG$K=q$$$F$"$k$N$O!"9=B$BN$X$N1i;;$N@)8B$O>-Mh$N%3%s%Q%$(B
$B%i$G$O<h$j=|$+$l$k$@$m$&$H$$$&$3$H$G$"$k!#<B:](BK&R$B$N=iHG$,H/9T(B
$B$5$l$?;~E@$N(BDennis Ritchie$B$N%3%s%Q%$%i$K$O!"9=B$BN$NBeF~$b9=B$(B
$BBN$N0z?tEO$7$bMQ0U$5$l$F$$$?!#=i4|$N(BC$B%3%s%Q%$%i$NCf$K$OBP1~$7(B
$B$F$$$J$$$b$N$bB8:_$7$?$,!"8=:_$N%3%s%Q%$%i$O$9$Y$FBP1~$7$F$$$k(B
$B$7!"(BANSI C$B5,3J$N0lIt$G$b$"$k!#$h$C$F;H$&$3$H$r$?$a$i$&$3$H$O$J(B
$B$$!#(B

($B9=B$BN$KBeF~$7$?$j0z?t$H$7$FEO$7$?$j4X?t$NLa$jCM$H$9$k$H$-$K(B
$B$O!"%G!<%?$OC1=cJ#<L$5$l$k!#%]%$%s%?%U%#!<%k%I$,$"$C$?$H$7$F$b(B
$B$=$N;X$9@h$O%3%T!<$5$l$J$$!#(B)

References: K&R1 Sec. 6.2 p. 121; K&R2 Sec. 6.2 p. 129; ANSI
Sec. 3.1.2.5, Sec. 3.2.2.1, Sec. 3.3.16; ISO Sec. 6.1.2.5,
Sec. 6.2.2.1, Sec. 6.3.16; H&S Sec. 5.6.2 p. 133.

2.8:$B$J$<9=B$BN$rHf3S$9$k$3$H$O$G$-$J$$$N$+!#(B

A:$B9=B$BN$NHf3S$r!"%O!<%I%&%(%"$K6a$$ItJ,$NA`:n$b2DG=$H$$$&(BC$B8@8l(B
$B$NFCD'$r;&$5$:!"%3%s%Q%$%i$K$d$i$;$kC1=cL@2r$JJ}K!$O$J$$!#%P%$(B
$B%HC10L$NHf3S$O!"9=B$BN$NCf$N;H$o$l$F$$$J$$(B"$B7j(B"($B$3$N$h$&$JKd$a(B
$BAp$O!"8e$m$N%U%#!<%k%I$NG[CV$,@5$7$/$J$k$h$&$K;H$o$l$k(B)$B$K$I$s(B
$B$J%S%C%H%Q%?!<%s$,Mh$k$+$b$7$l$J$$$3$H$r9M$($k$H;H$($J$$!#%U%#!<(B
$B%k%IC10L$NHf3S$O!"Bg$-$J9=B$BN$,BP>]$N$H$-$K!"$H$s$G$b$J$$NL$N(B
$B$/$jJV$7$N%$%s%i%$%s$N%3!<%I$rI,MW$H$9$k!#(B

$BFs$D$N9=B$BN$rHf3S$7$?$$$N$J$i!"%U%#!<%k%IC10L$KHf3S$9$k4X?t$r(B
$B<+J,<+?H$G=q$+$J$1$l$P$J$i$J$$!#(B

References: K&R2 Sec. 6.2 p. 129; ANSI Sec. 4.11.4.1 footnote
136; Rationale Sec. 3.3.9; H&S Sec. 5.6.2 p. 133.

2.9:$B$I$s$J;EAH$_$G9=B$BN$r0z?t$GEO$7$?$j!"4X?t$NLa$jCM$K;H$&$3$H$,(B
$B$G$-$k$N$+!#(B

A:$B9=B$BN$,4X?t$N0z?t$H$7$FEO$5$l$k$H$-!"9=B$BNA4BN$,!"I,MW$J$@$1(B
$B$N%o!<%I$r;H$C$F%9%?%C%/$K@Q$^$l$k(B($B%W%m%0%i%^$O!"$3$N%*!<%P!<(B
$B%X%C%I$r7y$C$F9=B$BN$X$N%]%$%s%?$rBe$o$j$K$h$/;H$&(B)$B!#(B

$B9=B$BN$O%3%s%Q%$%i$,MQ0U$9$kNN0h$KCV$+$l$F4X?t$+$iJV$C$F$/$k$N(B
$B$,0lHLE*$G$"$k!#%3%s%Q%$%i$O!"$3$NNN0h$N%"%I%l%9$r!"FCJL$J(B"$B1#(B
$B$l$?(B"$B0z?t$H$7$F!"8F$P$l$kB&$N4X?t$KEO$9!#8E$$%3%s%Q%$%i$NCf$K(B
$B$O!"9=B$BN$rJV$9$N$KFCJL$J@EE*$JNN0h$r;H$&$b$N$b$"$C$?!#$3$l$O(B
$B4X?t$r:FF~(B($B%j%(%s%H%i%s%H(B)$BITG=$K$9$k$N$G!"(BANSI C$B$O6X;_$7$F$$$k!#(B

References: ANSI Sec. 2.2.3; ISO Sec. 5.2.3.

2.10:$B9=B$BN$r0z?t$H$7$F<h$k4X?t$KDj?tCM$r$I$&$d$C$FEO$;$P$h$$$+!#(B

A:C$B8@8l$K$OL>A0$N$J$$9=B$BN$NCM$r:n$j=P$9J}K!$OB8:_$7$J$$!#0l;~(B
$BE*$K9=B$BN$NJQ?t$r;H$&$+!"9=B$BN$r:n$j=P$9$A$g$C$H$7$?4X?t$rMQ(B
$B0U$7$J$1$l$P$$$1$J$$!#(B(gcc$B$O9=B$BN$NDj?t$r3HD%5!G=$H$7$FMQ0U$7(B
$B$F$$$k!#$3$&$$$&;EAH$_$O(BC$B5,3J$N>-Mh$N3HD%$G$?$V$sDI2C$5$l$k$@(B
$B$m$&!#(B) $B<ALd(B4.10$B$b;2>H$N$3$H!#(B

2.11:$B9=B$BN$r%G!<%?%U%!%$%k$+$iFI$`!"$"$k$$$O%G!<%?%U%!%$%k$K=q$-9~(B
$B$`$N$O$I$&$9$l$P$h$$$+!#(B

A:fwrite()$B$r;H$C$F9=B$BN$r%G!<%?%U%!%$%k$K=q$-9~$`$N$O$=$s$J$KFq(B
$B$7$/$J$$!#(B

fwrite(&somestruct, sizeof somestruct, 1, fp);

$B$3$l$KBP1~$9$k(Bfread()$B$r;H$($PFI$_JV$9$3$H$,$G$-$k!#(B(ANSI C$B$,7h(B
$B$^$kA0$N(BC$B$G$O!":G=i$N0z?t$K(B(char *)$B$N%-%c%9%H$,I,MW$G$"$k!#Bg(B
$B;v$J$N$O!"(Bfwrite()$B$O%P%$%H$X$N%]%$%s%?$r<u$1<h$k$N$G$"$C$F!"(B
$B9=B$BN$X$N%]%$%s%?$r<u$1<h$k$N$G$O$J$$$H$$$&$3$H$G$"$k!#(B) $B$7(B
$B$+$7!"$3$&$d$C$F=q$-9~$s$@%G!<%?%U%!%$%k$O!"$?$$$7$F0\?"@-$,9b(B
$B$$$o$1$G$O$J$$(B($B<ALd(B2.12$B$H(B20.5$B$r;2>H$N$3$H(B)$B!#9=B$BN$,%]%$%s%?(B
$B$r4^$s$G$$$?$H$7$F$b%]%$%s%?$NCM$,=q$+$l$k$@$1$G!"$=$NCM$OFI(B
$B$_JV$7$?$H$-$KM-8z$G$"$k$H$O9M$($K$/$$$H$$$&$3$H$KCm0U$9$k$3$H!#(B
$B:G8e$K!"9b$$0\?"@-$N$?$a$K$O(Bfopen()$B$G%U%!%$%k$r3+$/$H$-$K!V(Bb$B!W(B
$B%U%i%0$,I,MW$J$3$H$K$bCm0U$9$k$3$H!#<ALd(B12.38$B$r;2>H!#(B
 
$B$b$C$H0\?"@-$N9b$$2r7h:v$O!"CJ<h$j$K>/$7<j4V$,$+$+$k$1$l$I!"0\(B
$B?"@-$N9b$$J}K!$G(B($B$?$V$s?M4V$K$bFI$_$d$9$$J}K!$G(B)$B%U%#!<%k%IC10L(B
$B$G9=B$BN$rFI$`4X?t$H=q$/4X?t$r(B1$BAHMQ0U$9$k$3$H$G$"$k!#(B

References: H&S Sec. 15.13 p. 381.

2.12:$B;d$,;H$C$F$$$k%3%s%Q%$%i$O9=B$BN$NFbIt$K7j$r3+$1$k$N$G!"NN0h$O(B
$BL5BL$K$J$k$7!"%G!<%?$rJ]B8$7$?30It$N%U%!%$%k$KBP$7$F(B"$B%P%$%J%j(B
"$B$GF~=PNO$9$k$3$H$,$G$-$J$$!#$3$NKd$aAp$r;_$a$?$j!"9=B$BN$N@0(B
$BNs$r@)8f$9$k$3$H$O$G$-$J$$$N$+!#(B

A:$B7/$,;H$C$F$$$k%3%s%Q%$%i$O!"5M$aJ*$r$9$k$+$I$&$+$N@)8f$r$*$3$J(B
$B$&3HD%5!G=$r(B($B$?$V$s(B#pragma$B$G!"<ALd(B11.20$B;2>H(B)$BMQ0U$7$F$$$k$+$b$7(B
$B$l$J$$!#$?$@$7I8=`2=$5$l$?J}K!$O$J$$!#(B

$B<ALd(B20.5$B$b;2>H$N$3$H!#(B

References: K&R2 Sec. 6.4 p. 138; H&S Sec. 5.6.4 p. 135.

2.13:$B9=B$BN$K(Bsizeof$B1i;;;R$r;H$C$?$i!";d$,;W$C$F$$$?$h$j$bBg$-$JBg$-(B
$B$5$rJV$7$F$-$?!#$^$k$G!"$*$7$j$K5M$aJ*$,$7$F$"$k$h$&$@!#(B

A:$B9=B$BN$O!"9=B$BN$rO"B3E*$KG[CV$7$?$H$-$K3F9=B$BN$N@hF,$,@0Ns$9(B
$B$k$h$&$K!"$3$N$h$&$J5M$aJ*$r;}$D>l9g$,$"$k(B($BFbIt$K5M$aJ*$r$9$k(B
$B$3$H$b$"$k(B)$B!#$?$H$(9=B$BN$,G[Ns$N0lIt$G$J$$$H$7$F$b!"(Bsizeof$B$,(B
$B0l4S$7$?CM$rJV$9$h$&$K!"$*$7$j$N5M$aJ*$OIU$$$?$^$^$H$J$k!#>e$N(B
$B<ALd(B2.12$B$r;2>H$N$3$H!#(B

References: H&S Sec. 5.6.7 pp. 139-40.

2.14:$B9=B$BNFb$N%U%#!<%k%I$N%P%$%H%*%U%;%C%H$rCN$kJ}K!$O!#(B

A:ANSI C$B$O!"(Boffsetof$B%^%/%m$rMQ0U$7$F$$$k$N$G!"MQ0U$5$l$F$$$k>l9g(B
$B$O;H$&$3$H!#(B<stddef.h>$B$r;2>H!#$b$7<j$KF~$l$k$3$H$,$G$-$J$1$l$P!"(B
$B<BAu$N(B1$B$D$O0J2<$N$h$&$K$J$k!#(B

#define offsetof(type, mem) ((size_t) \
((char *)&((type *)0)->mem - (char *)(type *)0))

$B$3$N<BAu$b(B100%$B$N0\?"@-$r;}$D$o$1$G$O$J$$!#%3%s%Q%$%i$NCf$K$O!"(B
$B$O$M$D$1$k$b$N$,$"$k$+$b$7$l$J$$$,!"$=$l$O$=$l$GJ8K!E*$K@5$7$$!#(B

$B<!$N<ALd(B2.15$B$X$N2rEz$r!";H$$J}$N;29M$K$9$k$3$H!#(B

References: ANSI Sec. 4.1.5; ISO Sec. 7.1.6; Rationale
Sec. 3.5.4.2; H&S Sec. 11.1 pp. 292-3.

2.15:$B$I$&$d$l$P9=B$BN$N%U%#!<%k%I$r!"<B9T;~$KL>A0$G%"%/%;%9$G$-$k$+!#(B

A:$B$^$:(Boffsetof()$B%^%/%m$r;H$C$FL>A0$H%*%U%;%C%H$NBP1~I=$rMQ0U$9$k!#(B
$B9=B$BN(Ba$B$N%U%#!<%k%I(Bb$B$N%*%U%;%C%H$O!"(B

offsetb = offsetof(struct a, b)

$B$GM?$($i$l$k!#$b$70J2<$N<0$G(Bstructp$B$,!"9=B$BN$N<BBN$X$N%]%$%s(B
$B%?$G!"(Bb$B$,>e$G7W;;$7$?%*%U%;%C%H$r;}$D(Bint$B$N%U%#!<%k%I$H$9$k$H!"(B
b$B$NCM$O4V@\E*$K(B

*(int *)((char *)structp + offsetb) = value;

$B$H$7$FF@$i$l$k!#(B

2.18:$B0J2<$N4X?t$O@5$7$$7k2L$r=PNO$9$k$1$l$I=*N;$7$?;~E@$G(Bcore$B$rEG$/!#(B
$B$J$<$+!#(B

struct list {
char *item;
struct list *next;
}

/* $B$3$3$+$i(Bmain$B%W%m%0%i%`$,;O$^$k(B */

main(argc, argv)
{ ... }


A:$B%;%_%3%m%s$,H4$1$?$3$H$G!"4X?t(Bmain$B$O9=B$BN$rJV$9$H%3%s%Q%$%i$K(B
$B;W$$$3$^$;$F$7$^$C$?!#(B($B4V$KF~$C$?%3%a%s%H$,!"9=B$BN$H(Bmain$B$,7k$S(B
$BIU$$$F$$$k$3$H$r$o$+$j$K$/$/$7$F$$$k!#(B) $B9=B$BN$rLa$jCM$H$7$F;}(B
$B$D4X?t$O!"$?$$$F$$1#$l$?La$jCM$N%]%$%s%?(B($B<ALd(B2.9$B$r;2>H(B)$B$r;}(B
$B$D$h$&$K<BAu$5$l$k$N$G!">e$N(Bmain()$B$KBP$7$F@8@.$5$l$?%3!<%I$O(B3
$B$D$N0z?t$r<h$m$&$H$9$k!#$3$N$&$A(B2$B$D$7$+EO$5$l$J$$(B($B$3$N>l9g$O!"(BC$B8@(B
$B8l$N%9%?!<%H%"%C%W$N%3!<%I$K$h$C$F(B)$B!#<ALd(B10.9$B$H(B16.4$B$b;2>H$N$3(B
$B$H!#(B

References: CT&P Sec. 2.3 pp. 21-2.

2.20:$B6&MQBN$r=i4|2=$9$k$3$H$O$G$-$k$+!#(B

A:$B6&MQBN$N:G=i$N%a%s%P!<$r=i4|2=$K;H$&$3$H$r(BANSI C$B5,3J$O5v$7$F$$(B
$B$k!#B>$N%a%s%P!<$r=i4|2=$9$kI8=`E*$JJ}K!$O$J$$(B($B$=$b$=$b(BANSI$B5,(B
$B3J@.N)$h$jA0$N$?$$$F$$$N%3%s%Q%$%i$G$O!"$I$N%a%s%P!<$r;H$C$F$b=i(B
$B4|2=$9$k$3$H$O$G$-$J$+$C$?(B)$B!#(B

References: K&R2 Sec. 6.8 pp. 148-9; ANSI Sec. 3.5.7; ISO
Sec. 6.5.7; H&S Sec. 4.6.7 p. 100.

2.22:$B%W%j%W%m%;%C%5$G(B#define$B$rJ#?t;H$&$3$H$H%3%s%Q%$%i$GNs5sBN$r(B
$B;H$&$3$H$N0c$$$O!#(B

A:$B8=>u$G$O$[$H$s$I0c$$$O$J$$!#B?$/$N?M$,K>$s$@J}8~$H$OH?BP$K!"(BC
$B5,3J$O!"Ns5sBN$H$=$N$[$+$N@0?t7?$r:.9g$7$F;H$C$F$bLdBj$J$$$H=R(B
$B$Y$F$$$k!#(B ($B$b$7$=$N$h$&$J:.9g$,L@<(E*$J%-%c%9%H$J$7$K$O;H$($J(B
$B$$$H$7$?$i!"Ns5sBN$r$h$/9M$($F;H$($P!"$"$k<o$N%W%m%0%i%_(B
$B%s%0$N8m$j$rJa$^$($k$3$H$,$G$-$k$N$G$"$k$,!#(B)

$BNs5sBN$NMxE@$H$7$F$OCM$,<+F0E*$KM?$($i$l$k$3$H$H!"%G%P%C%,$r(B
$B;H$C$FNs5sBN$NCM$rD4$Y$k;~$K%G%P%C%,$,%7%s%\%j%C%/$JCM$rI=<((B
$B$7$F$/$l$k$+$b$7$l$J$$$H$$$&$3$H!"$^$?Ns5sBN$N%9%3!<%W$,%V%m%C(B
$B%/$G$"$k$3$H$,5s$2$i$l$k(B($B%3%s%Q%$%i$O!"Ns5sBN$H@0?t$,8+6-$J$/(B
$B:.9g$7$F;H$o$l$?$H$-$K!"CWL?E*$G$O$J$$7Y9p$r=P$9$+$b$7$l$J$$!#(B
$B$=$N$h$&$K:.$<$F;H$&$3$H$O!"87L)$K$$$($PJ8K!0cH?$G$O$J$$$1$l$I!"(B
$B$h$/$J$$:nK!$H9M$($i$l$k$+$i$G$"$k(B)$B!#7gE@$H$7$F$O%W%m%0%i%^(B
$B$,%G!<%?$NBg$-$5$r(B($B$5$-$[$I$NCWL?E*$G$J$$7Y9p$K$D$$$F$b(B)$B$[$H$s$I(B
$B@)8f$G$-$J$$$3$H$,5s$2$i$l$k!#(B

References: K&R2 Sec. 2.3 p. 39, Sec. A4.2 p. 196; ANSI
Sec. 3.1.2.5, Sec. 3.5.2, Sec. 3.5.2.2, Appendix E; ISO
Sec. 6.1.2.5, Sec. 6.5.2, Sec. 6.5.2.2, Annex F; H&S Sec. 5.5
pp. 127-9, Sec. 5.11.2 p. 153.

2.24:$BNs5sBN$NCM$r(B($BCM$G$O$J$/(B)$B%7%s%\%k$GI=<($9$k3Z$JJ}K!$O$J$$$N$+!#(B

A:$B$J$$!#Ns5sBN$NDj?t$rJ8;zNs$KBP1~$5$;$k$A$g$C$H$7$?4X?t$r=q$1$P(B
$B$$$$!#(B($B%G%P%C%0$N$3$H$7$+5$$K$7$F$J$$$N$J$i!"$h$/$G$-$?%G%P%C(B
$B%,$r;H$($P>!<j$KNs5sBN$NDj?t$r%7%s%\%k$GI=<($7$F$/$l$k$N$G?4(B
$BG[$J$$!#(B)

3$B>O(B $B<0(B

3.1:$B$J$<0J2<$N%3!<%I$O$&$^$/F0$+$J$$$+!#(B

a[i] = i++;

A:i++$B$OI{:nMQ$r$b$?$i$9!#$D$^$j(Bi$B$NCM$rJQ99$9$k!#F1$8<0$NB>$N$H$3(B
$B$m$G(Bi$B$,;2>H$5$l$F$$$k$N$G!"$3$N$3$H$,L$Dj5A$NF0:n$r0z$-5/$3$9(B
(K&R$B$N8@$$2s$7$G$O$3$N<0$NF0:n$OL$5,Dj$G$"$k$H<h$l$k$,!"(BC$B5,3J(B
$B$O0lCJ$H87$7$/L$Dj5A$G$"$k$H$7$F$$$k!#(B-- $B<ALd(B11.33$B$r;2>H$N$3$H(B)$B!#(B

References: K&R1 Sec. 2.12; K&R2 Sec. 2.12; ANSI Sec. 3.3; ISO
Sec. 6.3.

3.2:$B;d$,;H$C$F$$$k%3%s%Q%$%i$G$O0J2<$N%3!<%I$G(B49$B$r=PNO$9$k!#(B

int i = 7;
printf("%d\n", i++ * i++);

$BI>2A$N=g$K$+$+$o$j$J$/!"(B56$B$r=PNO$9$k$N$G$O$J$$$N$+!#(B

A:$B8eCVA}J,1i;;;R(B++$B$b8eCV8:J,1i;;;R(B--$B$b85$NCM$rJV$7$?8e$G!"$=$N1i(B
$B;;$r9T$&!#$3$N(B"$B8e(B"$B$N0UL#IU$1$,$7$P$7$P8m2r$r>7$/!#A02sCM$r;:$_(B
$B=P$7$?$9$08e$G!"$+$D<0$N$=$NB>$NItJ,$,I>2A$5$l$kA0$K!"(B++$B$d(B--$B$,(B
$BA}J,$d8:J,$r9T$&$3$H$OJ]>Z$5$l$F$$$J$$!#C1$K<0$,(B"$B=*N;(B"$B$9$kA0(B
(ANSI C$B$NMQ8l$G$$$($P<!$N(B"$BI{:nMQ40N;E@(B"(sequence point)$B$NA0!#(B
$B<ALd(B3.8$B$r;2>H(B)$B$N$I$3$+$G99?7$,<B9T$5$l$k$3$H$,J]>Z$5$l$F$$$k$@(B
$B$1$G$"$k!#>e$NNc$G$O!"85$NCM$H85$NCM$r3]$19g$o$;$F$+$iN>J}$NA}(B
$BJ,$r<B9T$9$k$3$H$r%3%s%Q%$%i$OA*$s$@!#(B

$BI{:nMQ$,$"$$$^$$$JItJ,$,J#?t$"$k%3!<%I$NF0:n$O!">o$KL$Dj5A$G$"(B
$B$k!#(B($BBg$^$+$K8@$&$H!"!VI{:nMQ$,$"$$$^$$$JItJ,$,J#?t$"$k!W$H$O!"(B
++, --, =, +=, -=, etc. $B$NAH$_9g$o$;$N$$$:$l$+$,(B1$B$D$N<0$NCf$K(B
$B8=$o$l!"F1$8%*%V%8%'%/%H$,(B2$B2sJQ99$5$l$?$j!"JQ99$5$l$F$+$iCM$r(B
$BD4$Y$i$l$k$3$H$r0UL#$7$F$$$k!#$3$l$O9S$C$]$$Dj5A$G$"$k!#@53N$J(B
$BDj5A$O<ALd(B3.8$B$r;2>H$N$3$H!#(B"$BL$Dj5A(B"$B$N0UL#$K$D$$$F$O<ALd(B11.33$B$r(B
$B;2>H$N$3$H!#(B) $B<+J,$N;H$C$F$$$k%3%s%Q%$%i$,$=$N$h$&$JI{:nMQ$r;}(B
$B$D%3!<%I$r$I$&<BAu$7$F$$$k$+D4$Y$k$h$&$J$3$H$b$7$F$O$$$1$J$$(B
($BB?$/$N(BC$B$N652J=q$K:\$C$F$$$k6r$+$JN}=,LdBj$G$"$k$,!"$*A&$a$O$7(B
$B$J$$(B)$B!#(BK&R$B$,;XE&$7$F$$$k$h$&$K!V$b$7MM!9$J%^%7%s$G$I$&$d$C$F$d$C(B
$B$F<B9T$7$F$k$N$+CN$i$J$1$l$P!"CN$i$J$$$3$H$,=u$1$H$J$k$+$b$7$l(B
$B$J$$!#!W(B

References: K&R1 Sec. 2.12 p. 50; K&R2 Sec. 2.12 p. 54; ANSI
Sec. 3.3; ISO Sec. 6.3; CT&P Sec. 3.7 p. 47; PCS Sec. 9.5 pp.
120-1.

3.3:$B0J2<$N%3!<%I$r$$$/$D$+$N%3%s%Q%$%i$G%3%s%Q%$%k$7$F<B83$7$F$_$?!#(B

int i = 3;
i = i++;

i$B$NCM$H$7$F!"(B3$B$rM?$($k$b$N(B4$B$rM?$($k$b$N(B7$B$rM?$($k$b$N$,$"$C$?!#(B
$B>e$N%3!<%I$NF0:n$OL$Dj5A$G$"$k$N$OCN$C$F$$$k!#$7$+$7$I$&$7(B
$B$F(B7$B$K$J$k$h$&$J$3$H$,$"$k$N$+!#(B

A:$BL$Dj5A$NF0:n$H$$$&$N$O!"$I$s$J$3$H$,5/$C$F$bIT;W5D$,$J$$$3$H$r(B
$B0UL#$7$F$$$k!#<ALd(B3.9$B$H(B11.33$B$r;2>H$N$3$H!#(B(i++$B$b(B++i$B$b(Bi+1$B$H$O0c(B
$B$&$3$H$KCm0U$9$k$3$H!#(Bi$B$K(B1$B2C$($?$+$C$?$i!"(Bi=i+1$B$+(Bi++$B$+(B++i$B$+(B
i+=1$B$N$I$l$r;H$C$F$b$$$$!#$?$@$7AH$_9g$o$;$F$O$$$1$J$$!#<ALd(B
3.12$B$b;2>H$N$3$H!#(B)

3.4:$B3g8L$r$D$1$FI>2A$N=g$r$3$C$A$N9%$-$J$h$&$K$9$k$3$H$,$G$-$k$+!#(B
$B$b$7$G$-$J$$$H$7$F!"M%@h=g0L$,I>2A$N=g$r7h$a$k$N$G$O$J$$$N$+!#(B

A:$B>o$K=gHV$r;XDj$G$-$k$o$1$G$O$J$$!#(B

$B1i;;;R$NM%@h=g0L$d3g8L$rIU$1$k$3$H$O!"<0$NI>2A$KItJ,E*$K=g=xIU(B
$B$1$r$9$k$@$1$G$"$k!#0J2<$N<0$r9M$($F8+$h$&!#(B

f() + g() * h()

$B3]$1;;$OB-$7;;$NA0$K5/$3$k$H$$$&$3$H$O$o$+$C$F$$$k$1$l$I!"(B3$B$D(B
$B$N4X?t$N$&$A$I$N4X?t$,:G=i$K8F$P$l$k$+$O$o$+$i$J$$!#(B

$B<0$N0lIt$NI>2A$N=g=x$rJ]>Z$9$kI,MW$,$"$k$J$i!"0l;~JQ?t$rMQ0U$7(B
$B$FJ#?t$NJ8$KJ,$1$kI,MW$,$"$k$+$b$7$l$J$$!#(B

References: K&R1 Sec. 2.12 p. 49, Sec. A.7 p. 185; K&R2
Sec. 2.12 pp. 52-3, Sec. A.7 p. 200.

3.5:$B$=$l$G$O(B&&$B$d(B||$B$d(B,($B%3%s%^(B)$B$O$I$&$J$k$N$+!#(B
while((c = getchar()) != EOF && c != '\n')...
$B$N$h$&$J%3!<%I$r8+$?$3$H$,$"$k$,!#(B

A:$B$3$l$i$N1i;;;R$O(B(3$B9`1i;;;R(B?:$B$bF1MM$@$,(B)$BFCNc$G$"$C$F!":8$+$i1&(B
$B$X=g$KI>2A$9$k$3$H$,J]>Z$5$l$F$$$k(B($B4V$KF~$kI>2A=g=xE@$HF1$8$G(B
$B$"$k!#<ALd(B3.8$B$r;2>H$N$3$H(B)$B!#(BC$B$K4X$9$k$I$s$JK\$G$b!"$3$NE@$K$D(B
$B$$$FL@Gr$K$7$F$/$l$k$O$:$G$"$k!#(B

References: K&R1 Sec. 2.6 p. 38, Secs. A7.11-12 pp. 190-1; K&R2
Sec. 2.6 p. 41, Secs. A7.14-15 pp. 207-8; ANSI Sec. 3.3.13,
Sec. 3.3.14, Sec. 3.3.15; ISO Sec. 6.3.13, Sec. 6.3.14,
Sec. 6.3.15; H&S Sec. 7.7 pp. 217-8, Sec. 7.8 pp. 218-20,
Sec. 7.12.1 p. 229; CT&P Sec. 3.7 pp. 46-7.

3.8:$BJ#;($J<0$r$I$&$d$C$FM}2r$9$l$P$$$$$N$+!#!VI{:nMQ40N;E@(B
(sequence point)$B!W$H$O$J$K$+!#(B

A:$BI{:nMQ40N;E@$H$OA{$.$,$*$5$^$C$F$9$Y$F$NI{:nMQ$,40N;$7$?$3$H$,(B
$BJ]>Z$5$l$F$$$k(B($B;~(B)$BE@$G$"$k(B($B$D$^$j<0$NK\Ev$N=*$o$j!"(B
||,&&,?:,","($B%+%s%^1i;;;R(B)$B!"4X?t8F$S=P$7$ND>A0(B)$B!#(B ANSI/ISO C$B5,3J(B
$B$O0J2<$N$h$&$K=R$Y$F$$$k!"(B

$BD>A0$NI{:nMQ40N;E@$H<!$NI{:nMQ40N;E@$^$G$N4V$K!"(B
$B<0$NI>2A$K$h$C$F%*%V%8%'%/%H$K3JG<$5$l$?CM$r(B
$BJQ99$9$k2s?t$O9b!90lEY$@$1$G$J$1$l$P$J$i$J$$!#(B
$B99$K!"JQ99A0$NCM$O!"3JG<$5$l$kCM$r7hDj$9$k$?$a(B
$B$@$1$K%"%/%;%9$7$J$1$l$P$J$i$J$$!#(B

2$BHVL\$NJ8$OM}2r$7$K$/$$!#%*%V%8%'%/%H$K<0$NCf$G=q$-9~$`$J$i!"(B
$BF1$8<0Fb$G$N$=$N%*%V%8%'%/%H$KBP$9$kG!2?$J$k3n$D$9$Y$F$N%"%/%;(B
$B%9$O=q$-9~$`$Y$-CM$N7W;;$N$?$a$G$J$1$l$P$J$i$J$$$H8@$C$F$$$k!#(B
$B$3$N5,B'$K$h$j9gK!$J<0$O%"%/%;%9$,JQ99$NA0$KL@$i$+$KMh$k$b$N$K(B
$B<B<AE*$K8BDj$5$l$k!#(B

$B0J2<$N<ALd(B3.9$B$r;2>H$N$3$H!#(B

References: ANSI Sec. 2.1.2.3, Sec. 3.3, Appendix B; ISO
Sec. 5.1.2.3, Sec. 6.3, Annex C; Rationale Sec. 2.1.2.3; H&S
Sec. 7.12.1 pp. 228-9.

3.9:$B0J2<$N%3!<%I$,$"$C$?$H$7$F!"(B

a[i] = i++;

a[]$B$N$I$NMWAG$K=q$-$3$^$l$k$+$O$o$+$i$J$$$,!"(Bi$B$O3N<B$K(B1$B$DBg$-(B
$B$/$J$k$M!#(B

A:$B0c$&!#<0$d%W%m%0%i%`$,L$Dj5A$K$J$C$?$i!"$9$Y$F$NLL$GL$Dj5A$H$J(B
$B$k!#<ALd(B3.2, 3.3, 11.33, 11.35$B$r;2>H$N$3$H!#(B

3.12:$B<0$NCM$r;H$o$J$$$H$7$F!"JQ?t$K(B1$B$r2C$($k$N$K(Bi++$B$H(B++i$B$N$I$A$i$r(B
$B;H$($P$h$$$N$+!#(B

A:$B$3$NFs$D$O;:$_=P$9CM$,0c$&$@$1$G!"I{:nMQ$@$1$rI,MW$H$9$k$H$-$O(B
$B$^$C$?$/F1$8$G$"$k!#(B($B$?$@$7!"(BC++$B$G$OA0$KIU$1$k$[$&$,K>$^$7$$!#(B)

$B<ALd(B3.3$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 2.8 p. 43; K&R2 Sec. 2.8 p. 47; ANSI
Sec. 3.3.2.4, Sec. 3.3.3.1; ISO Sec. 6.3.2.4, Sec. 6.3.3.1; H&S
Sec. 7.4.4 pp. 192-3, Sec. 7.5.8 pp. 199-200

3.14:$B$J$<0J2<$N%3!<%I$O;d$,;W$C$?DL$j$KF0$+$J$$$N$+!#(B

int a = 1000, b = 1000;
long int c = a * b;

A:C$B$N@0?t$N3HD%5,B'$K$h$j!"3]$1;;$,(Bint$B$G<B9T$5$l$k!#7k2L$O:8JU$N(B
long int$B$NJQ?t$K3HD%$5$l$FBeF~$5$l$kA0$K7e$"$U$l$7$?$j<N$F$i$l(B
$B$F$7$^$&$+$b$7$l$J$$!"(Blong$B$G1i;;$5$l$k$h$&L@<(E*$K%-%c%9%H$r;H(B
$B$&!#(B

long int c = (long int)a * b;

(long int)(a * b)$B$G$OK>$`7k2L$,F@$i$l$J$$$3$H$KCm0U$9$k$3$H!#(B

$B@0?tJQ?tF1;N3d;;$r$*$3$J$C$F7k2L$rIbF0>.?tE@7?$NJQ?t$KBeF~$9$k(B
$B$H$-$K$bF1$8$h$&$JLdBj$,5/$3$k!#(B

References: K&R1 Sec. 2.7 p. 41; K&R2 Sec. 2.7 p. 44; ANSI
Sec. 3.2.1.5; ISO Sec. 6.2.1.5; H&S Sec. 6.3.4 p. 176; CT&P
Sec. 3.9 pp. 49-50.

3.16:$B>r7o$K$h$C$F!"(B2$B$D$NJQ?t$N$I$A$i$+$KBeF~$9$kJ#;($J<0$,$"$k!#0J(B
$B2<$N$h$&$J%3!<%I$r;H$C$F$b$h$$$+!#(B

((condition) ? a : b) = complicated_expression;

A:$B;H$($J$$!#(B?:$B1i;;;R$O!"$?$$$F$$$N1i;;;R$HF1$8$h$&$K!"CM$r;:$_=P(B
$B$9!#CM$KBeF~$9$k$3$H$O$G$-$J$$!#(B($B8@$$49$($k$H(B?:$B$O:8JUCM$r;:$_(B
$B=P$5$J$$(B)$B!#(B $BK\Ev$K$d$j$?$$$J$i!"0J2<$N$h$&$J$d$jJ}$r;n$;$P$$$$!#(B

*((condition) ? &a : &b) = complicated_expression;

$B$1$l$I!"$3$l$O$*@$<-$K$bH~$7$$$H$O$$$($J$$!#(B

References: ANSI Sec. 3.3.15 esp. footnote 50; ISO Sec. 6.3.15;
H&S Sec. 7.1 pp. 179-180.

4$B>O(B $B%]%$%s%?(B

4.2:$B%]%$%s%?$r@k8@$7$F!"$=$N%]%$%s%?MQ$NNN0h$r3d$jIU$1$h$&$H$7$F(B
$B$$$k!#$G$b$&$^$/$$$+$J$$!#0J2<$N%3!<%I$N$I$3$,$*$+$7$$$N$+!#(B

char *p;
*p = malloc(10);

A:$B7/$,@k8@$7$?%]%$%s%?$O(Bp$B$G$"$C$F(B*p$B$G$O$J$$!#%]%$%s%?$K$I$3(B
$B$+$r;X$5$;$k$K$O%]%$%s%?$NL>A0$r;H$&$@$1$G$$$$!#(B

p = malloc(10);

$B;X$7$?@h$N%a%b%j$rA`:n$9$k$H$-$K=i$a$F(B*$B$r4V@\1i;;;R$H$7$F;H$&!#(B

*p = 'H';

$B<ALd(B1.21, 7.1, 8.3$B$b;2>H$N$3$H!#(B

References: CT&P Sec. 3.1 p. 28.

4.3:*p++$B$O(Bp$B$rA}J,$9$k$+!#$=$l$H$b(Bp$B$,;X$9$b$N$rA}J,$9$k$N$+!#(B

A:*, ++, --$B$N$h$&$JC19`1i;;;R$O!"1&$+$i:8$K7k$SIU$1$k!#$@$+$i(B
*p++$B$O(Bp$B$rA}J,$9$k(B($B$=$7$FA}J,$9$kA0$K(Bp$B$,;X$7$F$$$?CM$rJV$9(B)$B!#(Bp
$B$,;X$7$F$$$?CM$rA}J,$9$k$K$O!"(B(*p)++$B$r;H$&(B($BI{:nMQ$,5/$3$k=g=x(B
$B$,LdBj$G$J$$$J$i(B++*p$B$G$b$$$$$@$m$&(B)$B!#(B

References: K&R1 Sec. 5.1 p. 91; K&R2 Sec. 5.1 p. 95; ANSI
Sec. 3.3.2, Sec. 3.3.3; ISO Sec. 6.3.2, Sec. 6.3.3; H&S
Sec. 7.4.4 pp. 192-3, Sec. 7.5 p. 193, Secs. 7.5.7,7.5.8 pp. 199-
200.

4.5:char$B$N%]%$%s%?$,$"$C$F!"$=$N%]%$%s%?$,$?$^$?$^(Bint$B$r;X$7$F(B
$B$$$?!#(Bint$B$N<!$X%]%$%s%?$r?J$a$?$$!#$J$<0J2<$N<0$G$O$&$^$/$$(B
$B$+$J$$$N$+!#(B

((int *)p)++;

A:C$B8@8l$G%-%c%9%H1i;;;R$O!V%S%C%H$,JL$N7?$r;}$C$F$$$k$U$j$r$7$F!"(B
$B$=$&$$$&Iw$K07$C$F$d$m$&!W$H$$$&$3$H$r0UL#$7$F$$$J$$!#%-%c%9%H(B
$B$OJQ491i;;;R$G$"$C$F!"$=$l$O1&JUCM$r@8$_$@$9$HDj5A$5$l$F$$$k!#(B
$B1&JUCM$G$"$k$H$9$k$J$i!"BeF~$9$k$3$H$b(B++$B$GB-$7;;$9$k$3$H$b$G$-(B
$B$J$$$3$H$K$J$k(B(pcc$B$+$iGI@8$7$?%3%s%Q%$%i$d(Bgcc$B$N3HD%5!G=$,>e$N(B
$B$h$&$J<0$r<u$1IU$1$k$3$H$ONc30$G$"$k(B)$B!#;W$C$F$$$k$3$H$r<0$K$"(B
$B$i$o$=$&!#0J2<$N$h$&$K$9$k!#(B

p = (char *)((int *)p + 1);

$B$"$k$$$O(B(p$B$O(Bchar *$B$J$N$G(B)$BC1$K(B

p += sizeof(int);

$B2DG=$J$H$-$O$$$D$G$b!":G=i$+$iE,@Z$J%]%$%s%?7?$rA*$V$Y$-$G$"(B
$B$k!#$"$k7?$rJL$N7?$H$_$J$=$&$H$7$F$O$$$1$J$$!#(B

References: K&R2 Sec. A7.5 p. 205; ANSI Sec. 3.3.4 (esp.
footnote 14); ISO Sec. 6.3.4; Rationale Sec. 3.3.2.4; H&S
Sec. 7.1 pp. 179-80.

4.8:$B%]%$%s%?$r0z?t$H$7$F<h$C$F!"$=$N%]%$%s%?$r=i4|2=$9$k$3$H$K(B
$B$J$C$F$$$k4X?t$,$"$k!#(B

void f(ip)
int *ip;
{
static int dummy = 5;
ip = &dummy;
}

$B$1$l$I0J2<$N$h$&$K8F$s$@$i!"(B

int *ip;
f(ip);

$B8F$s$@B&$N%]%$%s%?$NCM$OJQ$o$i$J$+$C$?!#(B

A:$B$3$N4X?t$,<B:]$K=i4|2=$9$k$b$N$,!"7/$,=i4|2=$7$F$/$l$F$k$H;W$C(B
$B$?$b$N$H0lCW$7$F$$$k<+?.$,$"$k$+!#(BC$B8@8l$N0z?t$OCMEO$7$G$"$k$3(B
$B$H$r$*K:$l$J$/!#8F$P$l$?B&$N4X?t$O!"%]%$%s%?$NEO$5$l$?%3%T!<$r(B
$BJQ99$9$k$@$1$G$"$k!#$*K>$_$N7k2L$rF@$k$K$O!"%]%$%s%?$N%"%I%l%9(B
$B$rEO$9$+(B($B4X?t$O%]%$%s%?$X$N%]%$%s%?$r<u$1$H$k$3$H$K$J$k(B)$B!"4X?t(B
$B$,%]%$%s%?$rJV$9$h$&$K$9$k!#(B

$B<ALd(B4.9,4.11$B$b;2>H$N$3$H!#(B

4.9:$B;2>H8F$S=P$7$K;H$&$?$aHFMQ$N%]%$%s%?$r4X?t$KEO$9$N$K!"(B
void **$B$r;H$&$3$H$,$G$-$k$+!#(B

A:$B0\?"@-$^$G9M$l$PIT2DG=$G$"$k!#(BC$B8@8l$K$OHFMQ$N%]%$%s%?$X$N%](B
$B%$%s%?7?$OB8:_$7$J$$!#(Bvoid *$B$,HFMQ$N%]%$%s%?$H$7$F?6$kIq$&(B
$B$N$O!"B>$N7?$N%]%$%s%?$r(Bvoid *$B$K@_Dj$7$?$j;2>H$9$k$H$-$K!"<+(B
$BF0E*$KJQ49$,9T$o$l$k$+$i$G$"$k!#(Bvoid *$B0J30$N2?$+$r;X$7$F$$$k(B
void **$B$r;H$C$F4V@\;2>H$7$h$&$H$9$k$H!"$3$NJQ49$O<B9T$G$-$J$$(B
($B1#$l$?@5$7$$%]%$%s%?$N7?$,$o$+$i$J$$(B)$B!#(B

4.10:$B0J2<$N4X?t$,$"$k!#(B

extern int f(int *);

$B$3$l$O@0?t$X$N%]%$%s%?$r0z?t$H$7$F<u$1<h$k!#$I$&$9$l$PDj?t$r(B
$B;2>HEO$7$9$k$3$H$,$G$-$k$+!#0J2<$N$h$&$J8F$S=P$7$O!"(B

f(&5);

$B$&$^$/$$$+$J$$$h$&$@!#(B

A:$B0lH/$G$OL5M}$@!#0l;~JQ?t$rDj5A$7$F!"$=$NJQ?t$N%"%I%l%9$r4X?t$K(B
$BEO$5$J$1$l$P$J$i$J$$!#(B

int five = 5;
f(&five);

$B<ALd(B2.10, 4.8, 20.1$B$b;2>H$N$3$H!#(B

4.11:C$B$K$b(B"$B;2>HEO$7(B"$B$,MQ0U$5$l$F$k$+!#(B

A:$B$^$5$+!#87L)$K$$$($P!"(BC$B$O$$$D$bCMEO$7$G$"$k!#<j$r$o$:$i$o$7$F(B
$B;2>HEO$7$r??;w$k$3$H$O$G$-$k!#%]%$%s%?$r0z?t$H$7$F<h$k4X?t$rDj(B
$B5A$7!"$=$N4X?t$r8F$V$H$-$K0z?t$K(B&$B1i;;;R$r;H$&!#$"$k$$$O4X?t$K(B
$BG[Ns$rEO$9$H(B($BBe$o$j$K%]%$%s%?$rEO$9$3$H$G!#<ALd(B6.4$BEy$r;2>H(B)$B%3(B
$B%s%Q%$%i$O<B<AE*$K;2>HEO$7$N$U$j$r$7$F$/$l$k!#$7$+$7(BC$B$O@5<0$N(B
$B;2>HEO$7$d!"(BC++$B$N;2>H%Q%i%a!<%?$K??$KEy2A$J$b$N$O;}$A9g$o$;$F(B
$B$$$J$$!#(B($B$?$@$7!"4X?t$K;w$;$?%W%j%W%m%;%C%5$N%^%/%m$O!"0l<o$N(B"
$BL>A08F$S=P$7(B"$B$rDs6!$9$k!#(B)

$B<ALd(B4.8$B$H(B20.1$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 1.8 pp. 24-5, Sec. 5.2 pp. 91-3; K&R2
Sec. 1.8 pp. 27-8, Sec. 5.2 pp. 91-3; ANSI Sec. 3.3.2.2, esp.
footnote 39; ISO Sec. 6.3.2.2; H&S Sec. 9.5 pp. 273-4.

4.12:$B4X?t$r8F$V$N$K!"%]%$%s%?$rDL$9J}K!$r$_$?$3$H$,$"$k!#$I$&$J$C(B
$B$F$k$N!#(B

A:$B$b$H$b$H$O4X?t$X$N%]%$%s%?$O(B*$B1i;;;R$r;H$C$F(B($B$+$DM%@h=g0L$r$O$C(B
$B$-$j$5$;$k$?$a$N$*$^$1$N3g8L$r;H$C$F(B)"$BK\J*$N(B"$B4X?t$XJQ49$7$J(B
$B$1$l$P$J$i$J$+$C$?!#(B

int r, func(), (*fp)() = func;
r = (*fp)();

$B$^$?0J2<$N$h$&$K<gD%$9$k$3$H$b2DG=$G$"$k!#4X?t$O>o$K%]%$%s%?(B
$B7PM3$G5/F0$5$l(B"$BK\J*$N(B"$B4X?t$NL>A0$O>o$K%]%$%s%?$K@.$j2<$,$k(B
($B<0$NCf$G!"=i4|2=$N$H$-$HF1$8MM$K!#<ALd(B1.34$B;2>H(B)$B$+$i2?$bLdBj$O(B
$B$J$$!#$3$&$$$&N"IU$1$,(Bpcc$B$rDL$7$F9-$,$j(BANSI$B5,3J$K$b:NMQ$5$l$?!#(B
$B$9$J$o$A!"(B

r = fp();

$B$O(Bfp$B$,4X?t$NL>A0$G$b!"4X?t$X$N%]%$%s%?$G$b@5$7$/LdBj$J$/F0$/(B
($B$3$N=q$-J}$O;O$a$+$i$"$$$^$$$5$NF~$kM>CO$NL5$$$b$N$G$"$C$?!#(B
$B4X?t$X$N%]%$%s%?$K0z?t$,B3$$$F$$$l$P!"$=$N%]%$%s%?$,;X$7$F$$$k(B
$B4X?t$r8F$V$7$+;EJ}$,$J$$$b$N(B)$B!#(B*$B$r=q$/$3$H$O32$,$J$$$7!":#$^$G(B
$BDL$j5v$5$l$k(B($B5v$5$l$k$I$3$m$+!"8E$$%3%s%Q%$%i$H$N8_49@-$,=EMW(B
$B$G$"$l$P;H$&$3$H$r4+$a$k(B)$B!#(B

$B<ALd(B1.34$B$b;2>H$N$3$H!#(B

References: K&R1 Sec. 5.12 p. 116; K&R2 Sec. 5.11 p. 120; ANSI
Sec. 3.3.2.2; ISO Sec. 6.3.2.2; Rationale Sec. 3.3.2.2; H&S
Sec. 5.8 p. 147, Sec. 7.4.3 p. 190.

5$B>O(B $B%L%k%]%$%s%?(B

5.1:$B$=$b$=$b$3$N0-L>9b$$%L%k%]%$%s%?$H$O2?$+!#(B

A:C$B8@8l$NDj5A$K$h$l$P$I$s$J%]%$%s%?$N7?$K$bFCJL$JCM!"$9$J$o$A(B
$B!V%L%k%]%$%s%?!W$,B8:_$9$k!#$3$N%L%k%]%$%s%?$OB>$N$I$s$J%]%$%s(B
$B%?$NCM$H$b6hJL2DG=$G!"!V$$$+$J$k%*%V%8%'%/%H$d4X?t$X$N%]%$%s%?(B
$B$HHf3S$7$F$bEy$7$/$J$k$3$H$,$J$$$3$H$rJ]>Z$5$l$F$$$k!W!#$9$J$o(B
$B$A%"%I%l%91i;;;R(B&$B$rE,MQ$7$?7k2L$,%L%k%]%$%s%?$H$J$k$3$H$O$J$$!#(B
$B$^$?(Bmalloc$B$N8F$S=P$7$K@.8y$7$?>l9g$NLa$jCM$,%L%k%]%$%s%?$N>l9g(B
$B$b$J$$!#(B(malloc$B$ONN0h3d$jIU$1$K<:GT$7$?>l9g$K%L%k%]%$%s%?$rJV(B
$B$9!#$3$l$,%L%k%]%$%s%?$NE57?E*$J;H$$J}$G$"$k!#$=$NCM$K$h$j%"%I(B
$B%l%90J30$N0UL#$r$"$i$o$9FCJL$J%]%$%s%?$NCM$G!"$?$H$($P!VNN0h3d(B
$B$jIU$1$N<:GT!W$H$+!"$^$@!V2?$b;X$7$F$$$J$$!W$N$h$&$J0UL#$r;}$D!#(B)

$B%L%k%]%$%s%?$O!"=i4|2=$5$l$F$$$J$$%]%$%s%?$H0[$J$k35G0$r;}$D!#(B
$B%L%k%]%$%s%?$O!"2?$b;X$7$F$$$J$$$3$H$,J]>Z$5$l$F$$$k!#(B $B=i4|(B
$B2=$5$l$F$$$J$$%]%$%s%?$O!"$I$3$r;X$7$F$$$k$+$o$+$i$J$$!#<ALd(B
1.30$B!"(B7.1$B!"(B7.31$B$r;2>H$N$3$H!#(B

$B>e$NDj5A$N$H$3$m$G=R$Y$?$h$&$K!"3F%]%$%s%?$N7?$4$H$K%L%k%]%$(B
$B%s%?$,B8:_$9$k!#%L%k%]%$%s%?$NFbIt9=B$$O%]%$%s%?$N7?$K$h$C(B
$B$F0[$J$k$+$b$7$l$J$$!#%W%m%0%i%^$OFbIt9=B$$K$D$$$FCN$kI,MW$O(B
$B$J$$!#%3%s%Q%$%i$OI,MW$J$i6hJL$,IU$1$i$l$k$h$&$K!"$I$N7?$N%L%k(B
$B%]%$%s%?$,I,MW$+CN$kI,MW$,$"$k(B($B0J2<$N<ALd(B5.2, 5.5, 5.6$B$r;2>H(B)$B!#(B

References: K&R1 Sec. 5.4 pp. 97-8; K&R2 Sec. 5.4 p. 102; ANSI
Sec. 3.2.2.3; ISO Sec. 6.2.2.3; Rationale Sec. 3.2.2.3; H&S
Sec. 5.3.2 pp. 121-3.

5.2:$B$I$&$d$l$P%W%m%0%i%`$NCf$G%L%k%]%$%s%?$rF@$k$3$H$,$G$-$k$N$+!#(B

A:C$B8@8l$NDj5A$K$h$l$P!"%]%$%s%?$r=q$/$Y$-$H$3$m$K8=$l$?Dj?t(B0$B$O!"(B
$B%3%s%Q%$%k;~$K%L%k%]%$%s%?$KJQ49$5$l$k!#$9$J$o$A=i4|2=!&BeF~!&(B
$BHf3S$r$9$k$H$-$K:8JU(B/$B1&JU$N$I$A$i$+$K%]%$%s%?7?$NJQ?t$+<0$,(B
$B8=$l$?$H$-$O!"%3%s%Q%$%i$O$b$&0lJ}$NB&$NDj?t(B0$B$,%L%k%]%$%s%?(B
$B$rMW5a$7$F$$$k$3$H$rM}2r$7!"E,@Z$J%G!<%?7?$N%L%k%]%$%s%?$NCM(B
$B$r;:$_=P$9!#$7$?$,$C$F0J2<$N(BC$B%W%m%0%i%`$NCGJR$O@5$7$$!#(B

char *p = 0;
if(p != 0)

($B<ALd(B5.3$B$b;2>H!#(B)

$B$7$+$74X?t$KEO$5$l$k0z?t$OI,$:$7$b%]%$%s%?$rI=$7$F$$$k$+$I$&(B
$B$+<1JL2DG=$G$O$J$$!#$=$N$H$-%3%s%Q%$%i$O%-%c%9%H$N$D$$$F$$$J$$(B
$BDj?t(B0$B$,%L%k%]%$%s%?$r0UL#$7$F$$$k$3$H$rH=JL$G$-$J$$$+$b$7$l(B
$B$J$$!#4X?t8F$S=P$7$N>u67$G%L%k%]%$%s%?$r;:$_=P$9$K$O!"(B0$B$,%](B
$B%$%s%?$rI=$o$7$F$$$k$3$H$rG'<1$5$;$k$?$a$KL@<(E*$J%-%c%9%H$,(B
$BI,MW$H$J$k$+$b$7$l$J$$!#Nc$($P(BUnix$B%7%9%F%`%3!<%k$N(Bexecl$B$N0z?t(B
$B$O!"J8;zNs$N%]%$%s%?$N2DJQ8D$N%j%9%H$G!"%L%k%]%$%s%?$G=*$o(B
$B$k!#@5$7$$8F$S=P$7$O0J2<$N$h$&$K$J$k!#(B

execl("/bin/sh", "sh", "-c", "date", (char *)0);

$B$b$7%-%c%9%H(B(char *)$B$r>JN,$9$k$H%3%s%Q%$%i$O%L%k%]%$%s%?$rEO$9(B
$B$H$$$&$U$&$K$OM}2r$;$:!"@0?t(B0$B$rBe$o$j$KEO$9!#(B(Unix$B$N%^%K%e%"%k(B
$B$G!"$3$NNc$K8m2r$r>7$/$h$&$J@bL@$r$7$F$$$k$b$N$,B?$$!#(B)

$B4X?t%W%m%H%?%$%W$,%9%3!<%WFb$J$i!"0z?tEO$7$NOC$O(B"$BBeF~$NOC(B"$B$H$J(B
$B$j!"$?$$$F$$%-%c%9%H$r>JN,$7$F$bLdBj$J$$!#$J$<$J$i%-%c%9%H$NIU(B
$B$$$F$$$J$$(B0$B$,%]%$%s%?$G$"$k$3$H$H!"$I$N7?$N%]%$%s%?$,I,MW$G$"(B
$B$k$H$$$&$3$H$r%W%m%H%?%$%W$,%3%s%Q%$%i$K65$($k$N$G!"%3%s%Q%$%i(B
$B$O(B0$B$r@5$7$/%]%$%s%?$KJQ49$9$k$3$H$,$G$-$k!#$7$+$74X?t%W%m%H%?(B
$B%$%W$O2DJQ8D$N0z?t$r$b$D4X?t$N0z?t%j%9%H$K7?$N>pJs$rM?$($k$3$H(B
$B$,=PMh$J$$!#$=$3$G2DJQ8D$N0z?t$r;}$D4X?t$N>l9g$OL@<(E*$J%-%c%9(B
$B%H$,I,MW$G$"$k(B($B<ALd(B15.3$B;2>H(B)$B!#2DJQ8D$N0z?t$r;}$D4X?t$d4X?t%W%m(B
$B%H%?%$%W$r;}$?$J$$4X?t$K$D$$$F$O!"$9$Y$F$N%L%k%]%$%s%?$N0z?t$r(B
$BL@<(E*$K%-%c%9%H$9$k$3$H$,>o$K0lHV0BA4$JJ}K!$G$"$k!#$3$&$9$l$P!"(B
vargs$B$N4X?t$d%W%m%H%?%$%W$J$7$N4X?t$,Mh$F$b$$$$$7!"(BANSI$BBP1~$G(B
$B$J$$%3%s%Q%$%i$r0l;~E*$K;H$&$3$H$b$G$-$k$7!"%W%m%0%i%^$,%]%$%s(B
$B%?$K$D$$$FM}2r$7$F%W%m%0%i%`$r=q$$$?$H$$$&$3$H$r%3%s%Q%$%i$KEA(B
$B$($k$3$H$,$G$-$k(B($B$A$J$_$K!"$3$&3P$($F$*$/$N$,0lHV4JC1$G$"$k(B)$B!#(B

$BMWLs$9$k$H(B:

0$B$K%-%c%9%H$r$D$1$J$$$G$b$h$$>l9g(B:$BL@<(E*$J%-%c%9%H$,I,MW(B
$B$,I,MW$J>l9g(B:

$B=i4|2=%W%m%H%?%$%W$,%9%3!<%W$K(B
$B$J$$$H$-$N4X?t8F$S=P$7(B
$BBeF~(B
$B2DJQ8D0z?t$N4X?t0z?t(B
$BHf3S(B

$B4X?t%W%m%H%?%$%W$,%9%3!<%W$KF~$C$F(B
$B$$$k$H$-$N0z?t$N?t$,8GDj$N4X?t0z?t(B

References: K&R1 Sec. A7.7 p. 190, Sec. A7.14 p. 192; K&R2
Sec. A7.10 p. 207, Sec. A7.17 p. 209; ANSI Sec. 3.2.2.3; ISO
Sec. 6.2.2.3; H&S Sec. 4.6.3 p. 95, Sec. 6.2.7 p. 171.

5.3:$B%]%$%s%?$,%L%k%]%$%s%?$G$J$$$+$I$&$+$N%F%9%H$N>JN,7A(B
$B!V(Bif(p)$B!W$OM-8z$J$N$+(B? $B%L%k%]%$%s%?$NFbItI=8=$,(B0$B$G$J$$>l9g$O(B
$B$I$&$J$k$N$+!#(B

A:C$B8@8l$,<0$N%V!<%kCM$rI,MW$H$9$k>l9g(B(if$B!"(Bwhile$B!"(Bfor$B$d(Bdo$BJ8$K$*$$(B
$B$F!"$^$?(B&&$B!"(B||$B!"(B!$B!"(B?:$B1i;;;R$H6&$K;H$&>l9g(B)$B!"(B0$B$HHf3S$7$FEy$7$$(B
$B>l9g$O56$NCM$,;:$_=P$5$l!"$=$NB>$N>l9g$O??$,;:$_=P$5$l$k!#$9$J(B
$B$o$A(B

if(expr)

$B$H=q$$$?$i$$$D$b!"!V(Bexpr$B!W$,$I$s$J<0$+$K$+$+$o$i$:%3%s%Q%$%i$O(B
$BI,$:(B

if((expr) != 0)

$B$H=q$+$l$?$h$&$K4pK\E*$K$OF0:n$9$k!#%]%$%s%?<0!V(Bexpr$B!W$r(Bp$B$K(B
$BCV$-49$($k$H!"(B

if(p)$B$O(Bif(p != 0)$B$HF1$8(B

$B$H$$$&$3$H$K$J$k!#Hf3S$r$9$k$N$G!"%3%s%Q%$%i$O(B($B<0$G$O8=$l$l$J(B
$B$$$,(B)0$B$,%L%k%]%$%s%?$rI=$7$F$$$k$HH=CG$7$F@5$7$$%L%k%]%$%s%?(B
$B$NCM$r;H$&!#%$%s%A%-$O$J$$!#%3%s%Q%$%i$O$3$N$h$&$KF0$-!"$I$A$i(B
$B$N<0$K$D$$$F$bF1$8%3!<%I$r;:$_=P$9!#%]%$%s%?$NFbItI=8=$O4X78(B
$B!V$J$$!W!#(B

$BO@M}H]Dj1i;;;R(B!$B$O0J2<$N$h$&$K5-=R$9$k$3$H$,$G$-$k!#(B

!expr$B$O4pK\E*$K(B (expr)?0:1 $B$HF1$8(B
$B$"$k$$$O!"(B((expr) == 0) $B$HF1$8(B

$B$3$l$+$i0J2<$N7kO@$,F@$i$l$k!#(B

if(!p)$B$O(B if(p == 0) $B$HF1$8!#(B

if(p)$B$N$h$&$J(B"$B>JN,7A(B"$B$O!"J8K!E*$K$O@5$7$$$1$l$I!"$h$/$J$$=q$-(B
$BJ}$G$"$k$H9M$($k?M$b$$$k(B($B$h$$=q$-J}$G$"$k$H9M$($k?M$b$$$k!#<A(B
$BLd(B17.10$B$r;2>H(B)$B!#(B

$B<ALd(B9.2$B$b;2>H!#(B

References: K&R2 Sec. A7.4.7 p. 204; ANSI Sec. 3.3.3.3,
Sec. 3.3.9, Sec. 3.3.13, Sec. 3.3.14, Sec. 3.3.15, Sec. 3.6.4.1,
Sec. 3.6.5; ISO Sec. 6.3.3.3, Sec. 6.3.9, Sec. 6.3.13,
Sec. 6.3.14, Sec. 6.3.15, Sec. 6.6.4.1, Sec. 6.6.5; H&S
Sec. 5.3.2 p. 122.

5.4:NULL$B$H$O2?$G!"$I$&(B#define$B$5$l$F$$$k$N$+(B?

A:$B=q$-J}$H$7$F!"%-%c%9%H$N$J$$(B0$B$,%W%m%0%i%`Fb$K$"$A$3$A;6$i$P$C(B
$B$F$$$k$N$r9%$^$J$$?M$,$?$/$5$s$$$k!#$=$3$G%^%/%m(BNULL$B$,(B
(<stdio.h>$B$+(B<stddef.h>$B$K(B)0$B$H$7$FDj5A$5$l$F$$$k!#(B(void *)$B$G%-%c(B
$B%9%H$5$l$F$$$k$+$b$7$l$J$$(B($B<ALd(B5.6$B;2>H(B)$B!#@0?t(B0$B$H%L%k%]%$%s%?(B
$BDj?t$N0c$$$r$O$C$-$j$5$;$?$$>l9g$O!"(BNULL$B$r%L%k%]%$%s%?$,I,MW$G(B
$B$"$k$H$3$m$J$i$I$3$K;HMQ$7$F$b$h$$!#(B

NULL$B$r;H$&$3$H$O=q$-J}$NLsB+;v$G$7$+$J$$!#%W%j%W%m%;%C%5$O(BNULL
$B$r(B0$B$KLa$7!"$=$N(B0$B$O%3%s%Q%$%i$K$h$C$F%]%$%s%?$H$7$F2r<a$5$l$k!#(B
$B$=$l$G$bFC$K4X?t$N0z?t$G$O(BNULL$B$K(B(0$B$K$bI,MW$G$"$k$N$HF1$8$G(B)$BL@(B
$B<(E*$J%-%c%9%H$,I,MW$+$b$7$l$J$$!#<ALd(B5.2$B$N2<$NI=$O(B0$B$@$1$G$J$/(B
NULL$B$K$b$"$F$O$^$k(B($B%-%c%9%H$NIU$$$F$$$J$$(BNULL$B$O%-%c%9%H$NIU$$(B
$B$F$$$J$$(B0$B$HF1Ey$G$"$k(B)$B!#(B

NULL$B$O%]%$%s%?$H$7$F$N$_;H$&$Y$-$G$"$k!#<ALd(B5.9$B$r;2>H$N$3$H!#(B

References: K&R1 Sec. 5.4 pp. 97-8; K&R2 Sec. 5.4 p. 102; ANSI
Sec. 4.1.5, Sec. 3.2.2.3; ISO Sec. 7.1.6, Sec. 6.2.2.3;
Rationale Sec. 4.1.5; H&S Sec. 5.3.2 p. 122, Sec. 11.1 p. 292.

5.5:$B%L%k%]%$%s%?$NFbItI=8=$K(B0$B$G$J$$%S%C%H%Q%?!<%s$r;H$C$F$$$k%^(B
$B%7%s$G$O!"(BNULL$B$O$I$&Dj5A$9$k$Y$-$+!#(B

A:$B$[$+$N$I$s$J%^%7%s$H$bF1$8$G$"$k!#(B0 ($B$^$?$O(B((void *)0))$B$HDj5A(B
$B$5$l$F$$$k!#(B

$B%W%m%0%i%^$,%W%m%0%i%`Cf$K!V(B0$B!W$d!V(BNULL$B!W$H=q$$$F%L%k%]%$%s(B
$B%?$rMW5a$7$?$H$-$K!"$=$N%^%7%s$,$I$s$J%S%C%H%Q%?!<%s$r%L%k%](B
$B%$%s%?$rI=8=$9$k$N$K;H$C$F$$$?$H$7$F$b!"%L%k%]%$%s%?$r:n$j(B
$B=P$9$N$O%3%s%Q%$%i$N;E;v$G$"$k!#$@$+$i%L%k%]%$%s%?$NFbItI=8=(B
$B$,(B0$B$G$J$$%^%7%s$G(BNULL$B$r(B0$B$K(B#define$B$9$k$N$OB>$N%^%7%s>e$H$*$J$8(B
$B$h$&$K@5Ev$G$"$k!#$J$<$J$i%-%c%9%H$N$D$$$F$$$J$$(B0$B$,%]%$%s%?(B
$B$rI,MW$H$9$k>l=j$K$"$i$o$l$?>l9g$K!"%3%s%Q%$%i$O!"$=$N%^%7%s$K(B
$BE,@Z$J%L%k%]%$%s%?$r:n$j=P$9$3$H$,$G$-$J$1$l$P$J$i$J$$$+$i$G(B
$B$"$k!#<ALd(B5,2,5.10,5.17$B$r;2>H$N$3$H!#(B

References: ANSI Sec. 4.1.5; ISO Sec. 7.1.6; Rationale
Sec. 4.1.5.

5.6:$B$b$7(BNULL$B$,0J2<$N$h$&$KDj5A$5$l$F$$$k$H$9$k$H!"(B

#define NULL ((char *)0)

$B%-%c%9%H$5$l$F$$$J$$(BNULL$B$r0z?t$H$7$FEO$94X?t8F$S=P$7$,F0$+$J$/(B
$B$J$k$N$G$O(B?

A:$BF0$+$J$/$J$k>l9g$b$"$k!#$3$3$GLdBj$O%G!<%?$N7?$,0[$J$k$H%]%$%s(B
$B%?$NFbItI=8=$,0[$J$k%^%7%s$,$"$k$3$H$G$"$k!#>e$NDj5A$O!"%-%c(B
$B%9%H$J$7$N(BNULL$B$r(Bchar$B$X$N%]%$%s%?$r0z?t$H$7$F<h$k4X?t$KEO$9$H(B
$B$-$O$&$^$/$$$/$,!"$=$NB>$N7?$N%]%$%s%?$r4X?t0z?t$H$7$F<h$k>l(B
$B9g$OLdBj$,$"$k!#$3$N>l9g$OJ8K!E*$K@5$7$$!"(B

FILE *fp = NULL;

$B$N$h$&$JNc$G$5$($&$^$/$$$+$J$$>l9g$,$"$k!#(B

$B$K$b$+$+$o$i$:(BANSI C$B$O(BNULL$B$NDj5AJ}K!$H$7$F$=$NB>$K(B

#define NULL ((void *)0)

$B$r5v$7$F$$$k!#>e$NDj5A$O!"%]%$%s%?$N7?$N07$$$K4X$7$F4V0c$$$N$"(B
$B$k%W%m%0%i%`$rF0$/$h$&$K$9$k$7(B($B%]%$%s%?$NFbItI=8=$,$I$s$J%G!<(B
$B%?7?$G$bF1$8%^%7%s$K8B$i$l$k!#$=$&$$$&0UL#$GLr$KN)$D$H$O$A$g$C(B
$B$H$$$$$K$/$$$,(B)$B!"$3$NDj5A$K$h$j!"(BNULL$B$r%]%$%s%?$N0UL#0J30$G;H(B
$B$&4V0c$$$r8+$D$1$k$3$H$,$G$-$k$+$b$7$l$J$$(B($B$?$H$($P(BASCII$B$N%L%k(B
$BJ8;z(B(NUL)$B$,K\Ev$OI,MW$J>l9g$J$I!#<ALd(B5.9$B;2>H(B)$B!#(B

References: Rationale Sec. 4.1.5.

5.9:$B$b$7%L%k%]%$%s%?$rI=$o$9?t$H$7$F(BNULL$B$H(B0$B$,F1$8$b$N$rI=$9$J$i!"(B
$B$I$A$i$r;H$($P$h$$$N$+!#(B

A:$B%]%$%s%?$rI=$9$9$Y$F$N>lLL$G!"$=$NCM$r%]%$%s%?$H$7$F;H$C$F$$$k(B
$B$3$H$NCm0U=q$-$H$7$F(BNULL$B$r;H$&$Y$-$@$H?.$8$F$$$k%W%m%0%i%^$,$?(B
$B$/$5$s$$$k!#0lJ}!"(BNULL$B$H(B0$B$r<h$j4,$/:.Mp$O!"(B0$B$r(B#define$B$N8e$m$K(B
$B1#$7$F$7$^$&$3$H$GNX$r$+$1$F$$$k$H?.$8!"%-%c%9%H$N$J$$(B0$B$rBe$o$j(B
$B$K;H$C$F$$$k?M$b$$$k!#$3$NLdBj$K$OM#0l$N@52r$H$$$&$b$N$OB8:_$7(B
$B$J$$!#(B($B<ALd(B9.2$B$H(B17.10$B$r;2>H!#(B) C$B%W%m%0%i%^$O!"%]%$%s%?$,I,MW$J>u(B
$B67$G$O(BNULL$B$H(B0$B$O8r492DG=$G!"%-%c%9%H$5$l$F$$$J$$(B0$B$r;H$&$3$H$O$<(B
$B$s$<$sLdBj$J$$$3$H$rM}2r$7$J$1$l$P$J$i$J$$!#(BNULL$B$r;H$&$3$H$O(B(0
$B$r;H$&$N$H0c$C$F(B)$B!"%]%$%s%?$,4X78$7$F$$$k$3$H$N?F@Z$JCm0U=q$-(B
$B$G$7$+$J$$!#%W%m%0%i%^$O%]%$%s%?$N(B0$B$H@0?t$N(B0$B$r6hJL$9$kI,MW$,$"(B
$B$k$H$-$K$O(BNULL$B$K(B($B<+J,$GM}2r$9$kBe$o$j!"$"$k$$$O%3%s%Q%$%i$,2r(B
$B<a$9$kBe$o$j$K(B)$BMj$C$F$O$$$1$J$$!#(B

NULL$B$r!"%]%$%s%?0J30$N(B0$B$,I,MW$J>lLL$K;H$C$F$O$J$i$J$$!#%W%m(B
$B%0%i%`$OF0$/$+$b$7$l$J$$$,!"%3%s%Q%$%i$K4V0c$C$?%a%C%;!<%8$rAw$C(B
$B$F$$$k$3$H$K0c$$$O$J$$(B(ANSI$B$O(BNULL$B$NDj5A$K(B(void *)0$B$r;H$&$3$H$r(B
$B5v$7$F$$$k!#$3$N>l9g%]%$%s%?0J30$,I,MW$J>l9g$OA4A3$&$^$/$$$+(B
$B$J$$(B)$B!#FC$K(BASCII$B$N%L%kJ8;z(B(NUL)$B$,I,MW$J>l9g$O!"@dBP$K(BNULL$B$r;H$C(B
$B$F$O$J$i$J$$!#I,MW$J$i<+J,$G(B

#define NUL '\0'

$B$rMQ0U$9$k$3$H!#(B

References: K&R1 Sec. 5.4 pp. 97-8; K&R2 Sec. 5.4 p. 102.

5.10:$B$G$b(B0$B$h$j$O(BNULL$B$r;H$&$[$&$,!"(BNULL$B$NCM$,>-MhJQ$o$k$3$H$r9M$($k(B
$B$H!"FC$K%L%k%]%$%s%?$NFbItI=8=$,(B0$B$G$J$$%^%7%s$K$D$$$F$OM%$l(B
$B$F$$$k$N$G$O!#(B

A:$B$$$d!#(B($B%^%/%m(BNULL$B$r;H$&$3$H$O9%$^$7$$$+$b$7$l$J$$$,!">e$NM}M3(B
$B$+$i$G$O$J$$!#(B) $B?t$rD>@\$K=q$/Be$o$j$K!"%7%s%\%kDj?t$r(B
$B;H$&$3$H$O!"CM$,>-MhJQ$o$k$+$b$7$l$J$$$H$3$m$G$O!"$h$/$d(B
$B$k$1$I!"$3$l$O(BNULL$B$r(B0$B$NBe$o$j$K;H$&M}M3$8$c$J$$!#$b$&0lEY@bL@$7(B
$B$h$&!#(BC$B8@8l$O!"%=!<%9%3!<%I>e$N(B0$B$,(B($B%]%$%s%?$r;H$&>lLL$G$O(B)$B%L%k(B
$B%]%$%s%?$r:n$j=P$9$3$H$rJ]>Z$7$F$$$k!#(BNULL$B$r;H$&$N$O!"%W%m%0%i(B
$B%_%s%0$N=q$-J}$N7h$^$j$G$7$+$J$$!#<ALd(B5.5$B$H(B9.2$B$r;2>H$N$3$H!#(B

5.12:$B;d$O!"%G!<%?7?$K1~$8$?%L%k%]%$%s%?$r:n$j=P$9$N$K0J2<$N%^%/%m(B
$B$r;H$C$F$$$k!#(B

#define Nullptr(type) (type *)0

A:$B$3$N5;$O!"?M5$$,$"$k$78+$?L\$OL%NOE*$@$1$l$I!"$?$$$7$FLr$K$ON)(B
$B$?$J$$!#BeF~$dHf3S$N:]$K$OI,MW$J$$!#<ALd(B5.2$B$r;2>H$N$3$H!#%=!<(B
$B%9$NBG$A9~$_$N@aLs$K$bLrN)$?$J$$!#$3$s$J%^%/%m$r;H$C$F$$$k$H!"(B
$B%W%m%0%i%`$r=q$$$??M$N%L%k%]%$%s%?$NCN<1$,2x$7$2$G$"$k$3$H$r%W(B
$B%m%0%i%`$rFI$`?M$K0E<($7!"$3$N%^%/%m$NDj5A$5$l$F$$$k$H$3$m!";H(B
$B$o$l$F$$$k$H$3$m!"$I$s$J7A$G$b%]%$%s%?$N;H$o$l$F$$$k$H$3$m$r$9(B
$B$Y$FCm0U?<$/%A%'%C%/$7$J$1$l$P$$$1$J$/$J$k!#<ALd(B9.1$B$H(B10.2$B$b;2(B
$B>H$N$3$H!#(B

5.13:$BJQ$@$J!#(BNULL$B$O(B0$B$H$J$k$3$H$,J]>Z$5$l$F$$$k!#$1$l$I%L%k%]%$%s%?(B
$B$O(B0$B$H$J$k$3$H$OJ]>Z$5$l$F$$$J$$$M!)(B

A:"$B%L%k(B"$B$H$+(B"NULL"$B$H$$$&C18l$,L5B$:n$K;H$o$l$k$H$-$O0J(B
$B2<$N$I$l$+$r0UL#$9$k!#(B

1.$B35G0$H$7$F$N%L%k%]%$%s%?!#(BC$B8@8lFb$NCj>]E*$J35G0$G$"$C(B
$B$F<ALd(B5.1$B$GDj5A$7$?!#$3$l$O<!$N$h$&$K<BAu$5$l$F$$$k!#(B

2.$B%L%k%]%$%s%?$NFbIt(B($B$"$k$$$O<B9T;~$N(B)$BI=8=!"(B0$B$G$O$J$$(B
$B$+$b$7$l$J$$$7!"%]%$%s%?$N7?$K$h$C$FI=8=J}K!$,0[$J$k(B
$B$+$b$7$l$J$$!#<B:]$NCM$O%3%s%Q%$%i$N:n@.<T$7$+4X?4$r;}(B
$B$?$J$$$O$:$G$"$k!#(BC$B%W%m%0%i%`$r=q$/?M$O$=$s$J$b$N$r8+(B
$B$J$$!#$J$<$J$iH`$i$,;H$&$N$O<!$N$b$N$G$"$k!#(B

3.$B%L%k%]%$%s%?Dj?t!#$3$l$O@0?t$NDj?t(B0$B$G$"$k(B($B<ALd(B5.2$B$r(B
$B;2>H(B)$B!#$=$7$F$3$l$O$7$P$7$P!"0J2<$N%^%/%m$N8e$m$K1#$l$F(B
$B$7$^$&!#(B

4.NULL$B%^%/%m!"$3$l$O!V(B0$B!W$d!V(B(void *)0$B!W$H$7$F(B#define$B$5(B
$B$l$F$$$k!#:G8e$K!"<!$N$b$N$O:.F1$7$d$9$$$,!"JL$N$b$N$G(B
$B$"$k!#(B

5.ASCII$B$N%L%kJ8;z(B(NUL)$B!"$3$l$O$9$Y$F$N%S%C%H$,(B0$B$G$"$k!#(B
$B$?$@$7L>A0$,;w$F$$$k$3$H$r=|$$$F%L%k%]%$%s%?$H6&DLE@(B
$B$O$J$$!#(B

6.$B!V%L%k%9%H%j%s%0!W!#$3$l$O6u$NJ8;zNs(B("")$B$NJLL>$G$"$k!#(B
$B$3$N8F$S$+$?$r;H$&$H:.Mp$r>7$-$=$&$G$"$k!#$J$<$J$i6u$N(B
$BJ8;zNs$O%L%k(B('\0')$BJ8;z$H4X78$,$"$k$,!"%L%k%]%$%s%?$K(B
$B$O4X78$J$$!#%L%k%]%$%s%?$NOC$7$r$9$k$H$H(B1.$B$KLa$k!#(B

$B$3$N;qNA$G$O%L%k%]%$%s%?$H$$$&8@MU$r(B1$B$N0UL#$G!"!V(B0$B!W$H$$$&J8(B
$B;z$r(B3$B$N0UL#$G!"!V(BNULL$B!W$H$$$&8@MU$r(B4$B$N0UL#$G;H$C$F$$$k!#(B

5.14:$B$J$<%L%k%]%$%s%?$K4X$9$k:.Mp$,B8:_$9$k$N$+!#$J$<$3$l$i$NLdBj(B
$B$,$3$s$J$K2?EY$b=P$FMh$k$N$+!#(B

A:C$B%W%m%0%i%^$O!"@N$+$i<+J,$N=q$$$?%W%m%0%i%`$,Av$k%^%7%s$N<BAu(B
$B$K4X$7$FI,MW0J>e$KCN$j$?$,$k!#%L%k%]%$%s%?$,$?$$$F$$$N%^%7%s$G!"(B
$B%=!<%9%3!<%I>e$bB?$/$NFbItI=8=>e$b(B0$B$G$"$k$3$H$,!"J]>Z$5$l$J$$(B
$B2>Dj$r>7$$$F$$$k!#%^%/%m!V(BNULL$B!W$r;H$&$3$H$G!"$=$NCM$,>-MhJQ2=(B
$B$9$k$+$b$7$l$J$$$3$H$d!"L/$J%^%7%s>e$G$O(B0$B$G$J$$$3$H$r;X$7$F$$(B
$B$k$h$&$K;W$($k$N$+$b$7$l$J$$!#!V(Bif(p==0)$B!W$H=q$/$H!"Hf3S$9$kA0(B
$B$K(B0$B$r%]%$%s%?7?$KJQ49$9$k$H$$$&$h$j$O!"(Bp$B$r@0?t7?$KJQ49$9$k$3$H(B
$B$rI,MW$H$9$k$H2r<a$5$l$,$A$G$"$k!#:G8e$K(B($B>e$N<ALd(B5.13$B$G5-=R$7(B
$B$?(B)$B!V%L%k!W$H$$$&8@MU$O!"J8L.$K$h$C$F0[$J$k0UL#$r;}$D$N$K!"0c(B
$B$$$rBgL\$K8+$,$A$G$"$k!#(B

$B:.Mp$rHr$1$k$h$$J}K!$O!"(BC$B8@8l$K$O%-!<%o!<%I$,$"$C$F(B(Pascal$B$K$J(B
$B$i$($P(Bnil$B$K$J$k$@$m$&(B)$B!"$=$l$r;H$C$F%L%k%]%$%s%?Dj?t$rMW5a$9$k(B
$B$H9M$($k$3$H$G$"$k!#%3%s%Q%$%i$O%=!<%9%3!<%I$+$i7?$,7hDj$G$-$k(B
$B$H$-$O!"(B"nil"$B$r@5$7$$7?$N%L%k%]%$%s%?$KJQ49$9$k$3$H$,$G$-$k$7!"(B
$B$G$-$J$$$H$-$O6l>p$r=P$9!#<B:]$K$O%L%k%]%$%s%?$N(BC$B8@8l$N%-!<%o!<(B
$B%I$O(B"nil"$B$G$O$J$/!V(B0$B!W$G$"$k!#(B0$B$O(B"nil"$B$H$[$H$s$IF1$8F/$-$r$9$k!#(B
$B0c$$$O!"%]%$%s%?0J30$,I,MW$J>u67$G$O%-%c%9%H$5$l$F$$$J$$(B0$B$K$O(B
$B%(%i!<%a%C%;!<%8$r=P$9Be$o$j$K@0?t$N(B0$B$r:n$j=P$9$3$H$G$"$k!#%-%c(B
$B%9%H$5$l$F$$$J$$(B0$B$r%L%k%]%$%s%?$N$D$b$j$G;H$&$H!"$=$N%3!<%I$O(B
$B$&$^$/F0$+$J$$$+$b$7$l$J$$!#(B

5.15:$B:.Mp$7$F$$$k!#$3$N%L%k%]%$%s%?$K4X$9$k$4$?$4$?$,M}2r$G$-$J$$!#(B

A:$B0J2<$NFs$D$N4JC1$J5,B'$K=>$(!#(B

1.$B%=!<%9%3!<%IFb$G%L%k%]%$%s%?Dj?t$,I,MW$J$i!"!V(B0$B!W$+(B
$B!V(BNULL$B!W$r;H$&!#(B

2.$B!V(B0$B!W$d!V(BNULL$B!W$r4X?t$N0z?t$K;H$&$H$-$O!"8F$P$l$k(B
$B4X?t$,A[Dj$7$F$$$k%]%$%s%?7?$K%-%c%9%H$9$k!#(B

$B0J2<$N5DO@$O!"$"$k<o$N8m2r$KEz$($k$b$N$+!"%L%k%]%$%s%?$NFbIt(B
$BI=8=$K4X$9$k$b$N$+(B($B$3$l$OCN$i$J$/$F$h$$$b$N$@(B)$B!"(BANSI C$B$G$N2~NI(B
$BE@$K4X$9$k$3$H$G$"$k!#<ALd(B5.1, 5.2, 5.4$B$rM}2r$7$F<ALd(B5.3, 5.9,
5.13, 5.14$B$K$D$$$F9M$($l$P!"$&$^$/$d$C$F$$$1$k!#(B

5.16:$B%L%k%]%$%s%?$r<h$j4,$/$3$l$i$N:.Mp$r9M$($l$P!"C1=c$K%L%k%]%$(B
$B%s%?$OFbIt$G$O(B0$B$GI=8=$5$l$k$H7h$a$F$7$^$C$?$[$&$,4JC1$J$N$G(B
$B$O!#(B

A:$BB>$K<h$jN)$F$FM}M3$,$J$1$l$P!"$=$&$9$k$3$H$OK>$^$7$/$J$$!#$J$<(B
$B$J$i!"$=$&$9$k$3$H$O%L%k%]%$%s%?$rFC<l$J(B0$B$G$J$$CM$GI=8=$9$k$[(B
$B$&$,<+A3$J%^%7%s$G!"%L%k%]%$%s%?$N<BAu$KI,MW0J>e$N94B+$rM?$($k(B
$B$3$H$K$J$k!#Nc$($P!"%L%k%]%$%s%?$rITEv%"%/%;%9$@$H$7$F%O!<%I%&%'(B
$B%"$GJa$^$($k;EAH$_$K$J$C$F$$$k$H!"%L%k%]%$%s%?$r(B0$B0J30$NFCJL$J(B
$B%S%C%H%Q%?!<%s$GI=8=$7$?$[$&$,!"$`$7$m<+A3$G$"$k!"(B

$B$=$N$&$(!"(B0$B$K7h$aBG$A$K$7$F2?$r$b$?$i$9$N$+!#%L%k%]%$%s%?$r(B
$BM}2r$9$k$3$H$O!"$=$NFbItI=8=$,(B0$B$G$"$k$+$I$&$+$NM}2r$rI,MW$H$7(B
$B$J$$!#%L%k%]%$%s%?$NFbItI=8=$,(B0$B$G$"$k$H2>Dj$7$F$b!"%3!<%I$O(B
$B>/$7$b=q$-$d$9$/$J$i$J$$(B($B<ALd(B7.31 $B$G=R$Y$k!"$"$^$j$*A&$a$7$?$/(B
$B$J$$(Bcalloc$B$N;H$$J}$r=|$/(B)$B!#%]%$%s%?$NFbItI=8=$,(B0$B$G$"$k$3$H$r(B
$BJ]>Z$7$?$H$7$F$b!"4X?t$N0z?tFb$G$N%-%c%9%H$,ITMW$K$J$k$o$1$G$O(B
$B$J$$!#$J$<$J$i%]%$%s%?$NBg$-$5$O!"(Bint$B$NBg$-$5$H0c$&$+$b$7$l(B
$B$J$$!#(B($B$b$7%L%k%]%$%s%?$r;H$&$H$-$K(B0$B$NBe$o$j$K<ALd(B5.14$B$G=R$Y$?(B
"nil"$B$rBe$o$j$K;H$C$F$$$l$P!"FbItI=8=$K$D$$$F2>Dj$7$h$&$H$$$&5$(B
$B$5$(5/$-$J$+$C$?$@$m$&!#(B)

5.17:$B%L%k%]%$%s%?$K(B0$B0J30$NCM$r;HMQ$9$k%^%7%s$d!"0[$J$k7?$N%]%$%s(B
$B%?$K0[$J$kFbIt7A<0$r;}$D%^%7%s$OK\Ev$KB8:_$9$k$N$+!#(B

A:Prime50$B%7%j!<%:$O>/$J$/$H$b(BPL/I$B$G$O!"%;%0%a%s%H(B07777$B!&%*%U%;%C(B
$B%H(B0$B$r%L%k%]%$%s%?$NFbItI=8=$H$7$F;H$C$F$$$?!#8e$N%b%G%k$O%;%0(B
$B%a%s%H(B0$B!&%*%U%;%C%H(B0$B$r(BC$B$N%L%k%]%$%s%?$K;H$C$?!#$3$N$?$a$K(B 
TCNP(Test C NULL Pointer)$B$N$h$&$J?7$7$$L?Na$,!"$=$l$^$G$K8m$C(B
$B$?;W$$9~$_$r$7$F=q$+$l$?!"%X%^$J(BC$B%W%m%0%i%`$r5_:Q$9$k$?$a$KI,(B
$BMW$H$J$C$?!#$b$C$H8E$$(B($B%P%$%H%"%I%l%9$G$O$J$/(B)$B%o!<%I%"%I%l%9J}(B
$B<0$N(BPrime$B$N%^%7%s$b$^$?!"%o!<%I%]%$%s%?(B(int *)$B$h$j$b%P%$%H%]%$(B
$B%s%?(B(char *)$B$N$[$&$,Bg$-$$$3$H$G$b0-L>9b$+$C$?!#(B

Data General$B$N(BEclipse MV$B%7%j!<%:$K$O!"%"!<%-%F%/%A%c$,MQ0U$9$k(B
3$B$D$N%]%$%s%?$N7A<0(B(word$B$H(Bbyte$B$H(Bbit)$B$,B8:_$7$?!#$3$N$&$A(B2$B$D(B
$B$O(BC$B%3%s%Q%$%i$K$h$C$F;H$o$l$k!#(Bbyte$B%]%$%s%?$O(Bchar *$B$H(Bvoid *
$B$K!"(Bword$B%]%$%s%?$O;D$j$N$9$Y$F$N%]%$%s%?7?$K;H$o$l$F$$$k!#(B

Honeywell-Bull$B$N%a%$%s%U%l!<%`$NCf$K$O!"%S%C%H%Q%?!<%s(B06000$B$r(B
($BFbIt$N(B)$B%L%k%]%$%s%?$H$7$F;H$C$F$$$k$b$N$b$"$k!#(B

CDC$B$N(BCyber 180$B%7%j!<%:$O%j%s%0!&%;%0%a%s%H!&%*%U%;%C%H$+$i$J$k(B
48$B%S%C%H$N%]%$%s%?$r;}$C$F$$$?!#B?$/$N%f!<%6!<(B($B%j%s%0(B11$B$GAv$k(B)
$B$O%L%k%]%$%s%?$H$7$F(B0xB00000000000$B$r;H$&!#8E$$(BCDC$B$N(B1$B$NJd?tI=8=(B
$B$N%^%7%s$G$OA4%S%C%H(B1$B$N%o!<%I$O!"$"$j$H$"$i$f$k<oN`$N%G!<%?$N(B
$BFCJL$J%U%i%0$H$7$F;H$o$l$?!#$=$NCf$K$O0cK!%"%/%;%9$b4^$`!#(B

$B8E$$(BHP 3000$B%7%j!<%:$O%P%$%H%"%I%l%9$H%o!<%I%"%I%l%9$G0[$J$k%"(B
$B%I%l%9;XDj$NJ}K!$r;H$C$F$$$?!#$@$+$iF1$8%"%I%l%9$r;X$7$F$$$F$b!"(B
void$B$H(Bchar$B$N%]%$%s%?$O!"(Bint$B$N(B($B9=B$BN$J$I$b(B)$B%]%$%s%?$H0c$C(B
$B$?FbItI=8=$r;}$C$F$$$?!#(B

Symbolics$B<R$N(BLISP$B%^%7%s$O!"%?%0IU$-%"!<%-%F%/%A%c$J$N$G!"$=$b(B
$B$=$b%]%$%s%?$r?tCM$GI=$9$H$$$&DL>o$N35G0$5$(;}$?$J$$!#(B
<NIL,0>($B4pK\E*$K$O!"B8:_$7$J$$(B<object,offset>$B$N%O%s%I%k(B)$B$r(BC$B$N(B
$B%]%$%s%?$H$7$F;H$C$F$$$k!#(B

80*86$B%W%m%;%C%5$O(B(PC$B8_495!$G$O(B)$B%a%b%j%b%G%k$K$h$C$F$O!"%G!<(B
$B%?$K(B16$B%S%C%H%]%$%s%?$r;H$$!"4X?t$K$O(B32$B%S%C%H%]%$%s%?$r;H$&!#(B
$B$^$?5U$N$3$H$b$"$k!#(B

64-bit$B$N(BCray$B%^%7%s$NCf$K$O(Bint *$B$NI=8=$K%o!<%I$N2<(B48$B%S%C%H$r;H(B
$B$$!"(Bchar *$B$O%o!<%IFb$N%P%$%H%"%I%l%9$G$"$k$3$H$r<($9$?$a$K>e(B16
$B%S%C%H$r;H$C$F$$$k$b$N$b$"$k!#(B

References: K&R1 Sec. A14.4 p. 211.

5.20:$B<B9T;~$K=P$k!V(Bnull pointer assignment($B%L%k%]%$%s%?$K$h$kBeF~(B)$B!W(B
$B$H$$$&%(%i!<%a%C%;!<%8$O2?$r0UL#$9$k$N$+!#$I$&$d$C$FLdBj$r$?$0$C(B
$B$F$$$1$P$h$$$+!#(B

A:$B$3$N%a%C%;!<%8$OIaDL$O(BMS-DOS$B$N%3%s%Q%$%i$G$7$+H/@8$7$J$$(B($B$h$C(B
$B$F(B19$B>O;2>H(B)$B!#%L%k%]%$%s%?$r;H$C$F(B($B$*$=$i$/=i4|2=$7$J$+$C$?$+(B
$B$i(B) 0$BHVCO$K=q$-9~$s$@$3$H$r0UL#$7$F$$$k(B($B<ALd(B16.8$B$b;29M(B)$B!#(B

$B%G%P%C%,$O!"(B0$BHVCO$K%V%l!<%/%]%$%s%H$rD%$k$3$H$d8+D%$j$rN)$F(B
$B$k$3$H$J$I$r5v$7$F$$$k$+$b$7$l$J$$!#$b$7$/$O(B0$BHVCO$r@hF,$K(B20
$B%P%$%H$+$=$3$iJL$N%P%C%U%!$K%3%T!<$7$F!"CM$,JQ2=$7$F$$$J$$$3(B
$B$H$r!"Dj4|E*$K3N$+$a$k%3!<%I$r%A%g%$$H=q$1$P$h$$!#<ALd(B16.8$B$b(B
$B;2>H$N$3$H!#(B

