Pointeurs et tableaux

Transcription

Pointeurs et tableaux
!"#$%&'()*&%*%+,-&+'.
!"#$%&'(%)#(*$#%**+,+'-#.#'/%01(**(#0(#*2"#31(,+(1#-'-,("$
A%385*&)%*2F+-*G*%
!"(#4%1+%&'(#0(#$53(#$%&'(%)#0(#$#(*$#)"#32+"$()1#*)1#$#6#
%*/"#$%&'(*0"$)%+$%*)'(*-&*12,'%*1'*%+,-&+'*
7"#3()$#0-8'%1(1#)"#$%&'(%)#0/("$+(1*#%4(8#'(#$53(#+"$9
#$%*%34567898989898:;
#$%*<*/;
/(#$%=>??%6@/9*A%385B6@/C$??9*%9*A%385D;
/6%;
</6E4;
!
!
/(#$%=>??/6@/9*%385B6@/C$??9*/9*%385D;**
!""#$%&'()*)
+,--.//01234+5-6,--.//012
7,--.//0123)+5-6,.8
%
###:;######<######<######<#######<
##*/
!
!
%*/"#$%&'(*0"$)%+$%*)'(*-&*12,'%*1'*%+,-&+'
W"$)2X'&$0&*Y*"$*$&*/&'%*Z"1#=#&(*%[*
!"'(* 0I+$F&(* -&* 0"$%&$'* 1?'$* %+,-&+'9* $"')* 1&\"$)* 0I+$F&(* -&)*
0"Z/")+$%&)* 1'* %+,-&+'* -?'$&* +/(])* -?+'%(&* >/[&.[* 1+$)* '$&*
,"'0-&D*
#*#$%*H345*6*7898989898:;
**0I+(*J345*6**7E89E89E89E89E8:;
**
**H*6*J;*************K<*LM!NOOLJPQ*RS*QTTQUT*VVV*<K
**
=%"*#8($#(>(,3'(?#"2)*#(**%52"*#0(#823+(1#'/%01(**(#0(#@#0%"*#A
B,32**+&'(#8%1##'/%01(**(#1(31-*("$-(#3%1#'(#"2,#0/)"#$%&'(%)#1(*$(#
$2)C2)1*#82"*$%"$(D
!
!
H(#%IZ2%#X'&*1&)*!"#$%&'()
6#32+"$()1#EF6#("$+(1
_*%3E885;*#$%*#;*_*</;
/^#*&)%*1&*%`/&*_<
/"#$%&*#*",a&%)*1&*%`/&*%*+/(])*/
#-*=+'%*,#&$*=+#(&*+%%&$%#"$*+\&0*0&*
F&$(&*1?"/2(+%#"$*G*$&*/+)*)"(%#(*1'*
,-"0*Z2Z"#(&9*0+(*-&*W*$?&==&0%'&(+*
+'0'$*%&)%*/"'(*\"')[
6#82,3%$+&+'+$-#%4(8#'(*#$%&'(%)>
%3#5*&)%*2\+-'2*0"ZZ&*<>%^#D
("#3%1$+8)'+(1#*+#3#32+"$(#*)1#$G+H#%'21*#3EI#32+"$(#*)1#$G+EIH
6#'(*#23-1%$+2"*#EE#($#6#6#*/%33'+J)("$#%)>#32+"$()1*
!
!
3EE#32+"$(#*)1#'/2&C($#*)+4%"$#0(#$53(#K
H(#%IZ2%#X'&*1&)*!"#$%&'()*>bD
6#0+LL-1("8(#0(#32+"$()1*#M0(#,N,(#$53(O##"2,&1(#0/2&C($*#82,31+*#
("$1(#'(*#0()>#%01(**(*
M3E+O63#4%)$#+
P$G+E:H#6#P$G+H#4%)$#:
6#82,3%1%+*2"*#32**+&'(*#("$1(#32+"$()1*#Q#RR?#SR
>/D*#1&Z*>/V6cUPPD**>1+$)*'$&*0"$1#%#"$*1&*#=*"'*1&*,"'0-&D
>V/D*#1&Z*>/66cUPPD
6#("#3%1%,T$1(#0(#L2"8$+2"#Q#K#9#$%&#(*$#-J)+4%'("$#.#K#$%&GH
!
!
Q.&Z/-&*0"/#&*1&*%+,-&+'.*>1&*)*1+$)*%D
\"#1*0"/#&E>#$%*)359*#$%*%359*#$%*%+#--&D7
#$%*#;
="(*>#68;#d%+#--&;#^^D
***%3#56)3#5;
:
\"#1*0"/#&b>#$%*)359*#$%*%359*#$%*%+#--&D7
#$%*#;
="(*>#68;#d%+#--&;#^^D
***<>%^#D6<>)^#D;
:
!
\"#1*0"/#&e>#$%*<*)9*#$%*<*%9*#$%*%+#--&D7
#$%*#;
="(*>#68;#d%+#--&;#^^D*7
***<%6<);*****
****%^^;
****)^^;
:
!
:
U(*#V#L2"8$+2"*#1(J)+T1("$#J)(#
*#($#$#*2+("$#0(*#$%&'(%)>#
%''2)-*#3%1#'/%33('%"$D#
U$*+'%(&*&.&Z/-&*
"$*0I&(0I&*'$*8*1+$)*-+*f"$&*/"#$%2&*/+(*%+,*)'(*'$&*-"$F'&'(*
1&*$,
!"#$%&'()&'(*+()",#-./%.012%#-.%-134
#-.%/56
#-.%#7-16
8")%,57.016%#9:6%#;%;2%5<<%3
#8%,%/5 %77%:%3%)(.=)-%>6
)(.=)-%:6
?
!"#$%8,34
#-.%0@>::A6
BBB
#8%,%&'()&'(*+()",C0@>:A2%>D%3%3%BBB
?
!
E&#%"-%F (%F ().%$(%G0%8"-&.#"-%5"=)%&'()&'()%=-%:%$0-F
%G(%.01G(0=%
!
H%50).#)%$(%G0%&0F (%>:%%H%G0%&0F (%IJB
_+,-&+'.*1`$+Z#X'&)
!"#0(*#+"$-1N$*#0(*#32+"$()1*#($#0(#'/%''28%$+2"#05"%,+J)(#R##
3(1,($$1(#0(#0-8+0(1#0(#'%#$%+''(#0/)"(#4%1+%&'(#%)#,2,("$#0(#
'/(>-8)$+2"?#82,,(#3%1#(>(,3'(#32)1#'(*#$%&'(%)>D#
W2)1#%''2)(1#)"#$%&'(%)#0(#"#("$+(1*#M"#-$%"$#82"")#.#'/(>-8)$+2"O#Q##
###0-8'%1(1#)"(#4%1+%&'(#0(#$53(#+"$#9#
E#%''2)(1#)"(#X2"(#,-,2+1(#32)1##"#("$+(1*#Q
+"$#"Y
+"$#9#$%&'(%)#Y
!
*8%"LM//"RZ+[//?#P"OY####F9#("$1-(#%)#8'%4+(1#0(#'%#4%'()1#0(#"#9F
$%&'(%)#R#,%''28M"9*+X(2LM+"$OOY
+L#M$%&'(%)##SR#\!UUO
]
####F9#23-1%$+2"*#*)1#'(#$%&'(%)#9F
#####DDD#
####L1((M#$%&'(%)#OY
!
^
W+)*1&)*%+,-&+'.*Z'-%#1#Z&$%#"$$&-)
B8+#$%&'(%)>#.#0()>#0+,("*+2"*
+"$#$GVHG_H
6#$#$%&'(%)#0(#V#&'28*#0(#_#("$+(1*
6#$#32+"$()1#*)1#'(#0-&)$#0(#'%#X2"(#02"8#
$#-J)+4%'("$#.#P$G<HG<H#2)#.#$G<H
!
!
WI+g$&)*1&*0+(+0%](&)
!"#$%&'()*+,%-.'/')0,*&'1&'2#+#2*3+&)'*&+4,%5&'6#+'7&'2#+#2*3+&'89:
;%'!<'6#)'1&'*=6&'2"#$%&')652,>,?0&'@
'AB'C&6+5)&%*#*,D%'1&)'2"#$%&)'1&'2#+:'6#+'0%'*#E7&#0'1&'2#+:
F527#+#*,D%'@'D%'0*,7,)&'0%'*#E7&#0'1&'2"#+'@'2"#+GH<
;%'#+-04&%*'@'D%'6#))&'0%'6D,%*&0+'1#%)'0%'*#E7&#0'@'2"#+I:
;J&467&'@%&'0)%&'@>:A%7%4K1K2%K"K2%K-K2%KLK2%K"K2%K=K2%K)K2%KM:K?6
''''''''''''''''7&)'2#)&)'+&)*#%*&)')D%*'4,)&)'K'89
''''''''''''''''&'0)%F @NA6%
'''''''''''''''')#%)',%,*,#7,)#*,D%'@'1#%-&+&0J'2#+'6#)'1&'89
L%,*,#7,)#*,D%'),467,>,5&'@'#MD0*'#0*D4#*,?0&'1&'89
!
%&'0)%&'@>:A%7%KK1"-L"=)KK6
!
U2"`)()1#0/)"(#8a%b"(
U(*#8a%b"(*#*2"$#3%**-(*#%)>#
L2"8$+2"*#3%1#1-L-1("8(
*2)*#L21,(#0(#32+"$()1#4(1*#'(#
31(,+(1#8%1%8$T1(D
K53(#0(#'e%1`),("$#Q#8a%19
#$%*-F>0I+(*<*)D7
#$%*#68;
hI#-&*>)3#5D*
**#^^;
(&%'($*#;
:
W%182)1*#0)#$%&'(%)#C)*J)/%)#,%1J)()1#0(#L+"#c<
d2,,(#'%#L+"#0(*#8a%b"(*#0(#8%1%8$T1(*#(*$#,%1J)-(#3%1#)"#
*5,&2'(#*3-8+%'?#"2)*#"/%42"*#3%*#&(*2+"#0(#82""%b$1(#'%#
'2"`)()1#0(*#8a%b"(*#0(#8%1%8$T1(*#M+")$+'(#0(#'%#3%**(1#("#
3%1%,T$1(#J)%"0#2"#,%"+3)'(#0(*#8a%b"(*#0(#8%1%8$T1(*OD
!
!
H'%(&*&.&Z/-&
N0*+&'&J&467&
O/0)P %Q%&%%%%%%%%%%%%%%%%.R5(%Q%&'0)%;9%&'0)
5"F .%Q%)(."=)-(%G(%&0)0&.S)(%T0L=F &=G(%&"))(F 5"-$0-.%F #%&%
(F .%=-(%G(..)(%T#-=F &=G(2%)(."=)-(%&%F #-"-/O
&'0)%(-*T0L=F &=G(,&'0)%&34
#8%,%&%97%U0U%CC%&%V7%U+U%3
)(.=)-%&%;%U0U%<%UWU6
(GF (
)(.=)-%&6
?
!
O/%T"$#8#(%G(%&"-.(-=%$(%F /O
O/%T(.%(-%T0L=F &=G(F %."=.(F %G(F %G(..)(F %%T#-=F &=G(F %$(%F /O%
!"#$%&'0#-(*(-*T0L=F &=G(,&'0)/%F 34
&'0)%/56
8")%,%57F 6%/56%5<<%3
/5%7%(-*T0L=F &=G(,/536
?
!
X"-&.#"-F %F .0-$0)$F %F =)%G(F %&'0Y-(F
f2"8$+2"*#*$%"0%10*#Q#028),("$-(*#0%"*#,%"#*$1+"`D
g)('J)(*#L2"8$+2"*#)$+'(*#Q#h+"8')0(#i*$1+"`Daj
*$1'("# '2"`)()1#0e)"(#8a%+"(
*$18,3#82,3%1(#0()>#8a%b"(*#'(>+82`1%3a+J)(,("$
*$1835# 823+(#0(#8a%b"(
*$18%$# 82"8%$-"%$+2"#0(#8a%b"(*
*$1"835
*$1"8%$#4(1*+2"*#'+,+$-(*#.#"#8%1%8$T1(*
*$1"8,3
*$18a1# 1(8a(18a(#0e)"#8%1%8$T1(#0%"*#)"(#8a%b"(
*$1*$1# 1(8a(18a(#0e)"(#*2)*68a%b"(#0%"*#)"(#8a%b"(
!
!
k>(,3'(*#0(#312$2$53(*#Q#
F #+(*.%F .)G(-,&"-F .%&'0)%/F 36
&'0)%/F .)&5R,&'0)%/$(F .2%&"-F .%&'0)%/F )&36
&'0)%/F .)&0.,&'0)%/$(F .2%&"-F .%&'0)%/F )&36
k>(,3'(*#0e)$+'+*%$+2"#Q
&'0)%$@D:A7ZKK1"-L"=)ZKK6
&'0)%/F %7%KKH%."=F %[KK6
&'0)%/%56
57F .)&0.,$2%F 36%%%%%%%%%%%'6'6D,%*&')0+'OOED%MD0+'K'*D0)POO
BBB
!
!"#$%T0\(*50.',&"-F .%&'0)/%$#)2%&"-F .%&'0)/%8#G(34
&'0)%1=8@>:IJA
#8%,%F .)G(-,$#)3%<%F .)G(-,8#G(3%<%I%9%F #+("8,1=83%3%(]#.,:36
F .)&5R,1=82%$#)36
F .)&0.,1=82%^ O^ 36
!
F .)&0.,1=82%8#G(36
:::
da%b"(*#82"*$%"$(*
7"#3()$#)$+'+*(1#)"(#8a%b"(#("$1(#l#("#0(a21*#0(*
+"+$+%'+*%$+2"*#0(#$%&'(%)>D
k>(,3'(*
31+"$LMl$2$2c"lOY
8a%19#*#R#l$2$2c"lY
kLL($*#($#82"$1%+"$(*#Q
82,3+'%$+2"#Q#81-(#)"#$%&'(%)#%"2"5,(#&+("#+"+$+%'+*-?
'(#$%&'(%)#(*$#`'2&%'#($#82"*$%"$?
82"*$#8a%1#%"2"5,(mmmGH#R#l$2$2l#Y
(>-8)$+2"#Q#1("42+(#)"#32+"$()1#*)1#8(#$%&'(%)D
31+"$LM%"2"5,(mmmO#Y#8a%19#*#R#%"2"5,(mmm#Y
nJ#Q#.#'e(>-8)$+2"?#%)8)"(#%''28%$+2"#"+#823+(#0(#8a%b"(#"e%#'+()?
'(#$%&'(%)#"(#02+$#3%*#N$1(#,20+L+-D
!
!
A$$("$+2"#S
B'#(>+*$(#)"(#0+LL-1("8(#+,321$%"$(#("$1(#'(*#0()>#0-8'%1%$+2"*Q
######0I+(*H35*6*iJ"$a"'(*Vi;###F9#)"#$%&'(%)##9F
####**0I+(*<J**6*iJ"$a"'(*ViY###F9#)"#32+"$()1#9F
A#(*$#)"#$%&'(%)#J)+#%#(>%8$(,("$#'%#$%+''(#32)1#82"$("+1#'%#8a%b"(#0(#8%1%8$T1(
($#'(#/c</D
U(*#8%1%8$T1(*#0(#'%#8a%b"(#3()4("$#N$1(#8a%"`-*?#,%+*#'(#"2,#A#4%#$2)C2)1*#
32+"$(1#*)1#'%#,N,(#%01(**(#("#,-,2+1(D#MA#(*$#)"#32+"$()1#82"*$%"$O
@#(*$#)"#32+"$()1#J)+#(*$#+"+$+%'+*-#0(#L%o2"#.#8(#J)/+'#32+"$(#*)1#)"(#8a%b"(#0(#
8%1%8$T1(*#82"*$%"$(#*$28I-(#J)('J)(#3%1$#("#,-,2+1(D#U(#32+"$()1#3()$#N$1(#
,20+L+-#($#32+"$(1#*)1#%)$1(#8a2*(D#U%#8a%b"(#82"*$%"$(#3()$#N$1(#')(?#823+-(#2)
%LL+8a-(?#,%+*#3%*#,20+L+-(D
0I+(*<H*6*i0I+g$&i;
0I+(*<J*6*ij&'.#]Z&*0I+g$&i;
H*6*J;**
!
!
K%&'(%)#0(#8a%b"(*#0(#8%1%8$T1(*
W2)1#)"(#`(*$+2"#05"%,+J)(#Q#'(#0-8'%1(1#82,,(#)"#32+"$()1#*)1#8a%b"(
02"8#0(#$53(#8a%199
####**0I+(*<<*-#)%&
W128-0)1(#0(#*%+*+(#0(#8($#$%&'(%)#0(#8a%b"(*#Q
0I+(<<*)+#)#&>\"#1D;
k''(#1($2)1"(1%#'(#32+"$()1#*)1#'(#$%&'(%)#*%+*+D
7"#%)1%#'%#*+$)%$+2"#*)+4%"$(#Q
'+*$(
##A#####@###d###= c<
##k#####f##c<
!
##$####2#####$#####2 c<
c<
!
!
0I+(*<<*)+#)#&>\"#1D7
0I+(<<*-*;*
0I+(<<*/;
0I+(*-#F$&3kE5;
K<*"$*)+#)#%*+'*/-')*E8*0I+g$&)*1&*0+(+0%](&)<K
K<*+--"0+%#"$*1&*-+*-#)%&*1&*/"#$%&'()*Y*'$*/"#$%&'(*1&*0I+g$&*
"00'/&*'$&*f"$&*Z2Z"#(&*1&*%+#--&*)#f&"=>0I+(<D*<K
-*6*>0I+(<<D0+--"0>EE9*)#f&"=>0I+(<DD;
K<*0+--"0*#$#%#+-#)&*-+*f"$&*+--"'2&*G*8*<K
+))&(%>-V6cUPPD;
="(*>/6-;*>/D;/^^D7
K<*"$*-#%*-+*0I+g$&*1+$)*-&*,'==&(*-#F$&<K
)0+$=>??Q$%(&f*'$&*0I+g$&*@)??9*-#F$&D;
K<*"$*+--"'&*-+*f"$&*Z2Z"#(&*a')%&*$20&))+#(&<K
</6*>0I+(*<DZ+--"0>)%(-&$>-#F$&D^ED;
* K<"$*(&0"/#&*-+*0I+g$&*)%"0l2&*1+$)*-&*,'==&(<K
)%(0/`></9*-#F$&D;
:
</6cUPP;
!
(&%'($*-;

Documents pareils