Upload
santiago-mejia
View
212
Download
0
Embed Size (px)
Citation preview
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 1/25
!"#$ &##'()* +,'#)
!"# %&' – ()** +,%'
-../ 01 2.3456. +
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 2/25
&##'( -./0/'1/2'0/".
• !7848)*8987: 4;. )66)< 4;8= >)< ;)= ) *?4 ?@ 6.A.4848?7 >84; =.B.6)*
*87.= 4;)4 C5=4 D.:87 >84; !"#$%&'!($)*E
+,!%- '!- ./0123/45.32 7 89
%-(::%-;'!< !"#$%&./0123/45.32*9
!"#$%&=* 7 >?"#$%>9!"#$%&@* 7 >0";A>9
!"#$%&B* 7 >?,C!>9
!"#$%&D* 7 >E"-;'+'">9
!"#$%&F* 7 >G,H$;->9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 3/25
Array Initialization, Cont’d
• ";. A6.B8?5= 3?F. 3?5*F D. 6.>6844.7 5=87: ) =;?64354E
+,!%- '!- ./0123/45.32 7 89%-(::%-;'!< !"#$%&./0123/45.32* 7
I
>?"#$%>J
>0";A>J>?,C!>J
>E"-;'+'">J
>G,H$;->J
K9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 4/25
3$41'#/.5 '. &##'(6 78 -./0/'1/2'0/".
%-(::%-;'!< !"#$%&./0123/45.32* 7I
>?"#$%>J
>0";A>J>?,C!>J
>E"-;'+'">J
>G,H$;->JK9
"<A. G)H.
I7F ?@
=4)4.H.74
J89. ?@ )66)<
K87 D6)3/.4=L
IM5)*=
DN3
)==8:7H.74O6)3.=
28=4 ?@ 87848)* B)*5.=
87 )66)<1 =.A)6)4.FD< 3?HH)=P
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 5/25
&##'( -./0/'1/2'0/". 9:';<1$)6 78 +";;$.0)
• Just in case it’s unclear which elements are being assigned in the
array…
+,!%- '!- ./0123/45.32 7 89
%-(::%-;'!< !"#$%&./0123/45.32* 7
I
>?"#$%>J LL 2$-% '!($) = -, >?"#$%>>0";A>J LL 2$-% '!($) @ -, >0";A>
>?,C!>J LL 2$-% '!($) B -, >?,C!>
>E"-;'+'">J LL 2$-% '!($) D -, >E"-;'+'">
>G,H$;->J LL 2$-% '!($) F -, >G,H$;->
K9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 6/25
=/2$ !/);'04,
• -;)4 ;)AA.7= 8@ ! =)< 4;.6. )6. ' .*.H.74=1 D54 ! )345)**< )==8:7 &Q
+,!%- '!- ./0123/45.32 7 89%-(::%-;'!< !"#$%&./0123/45.32* 7
I
>?"#$%>J
>0";A>J>?,C!>J
>E"-;'+'">J
>G,H$;->J
>G"A#,!(>J LL 5;;,;: >-,, #"!A '!'-'"M'N$;%>
K9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 7/25
Size Mismatch, Cont’d
• If I have too few, it won’t complain…
+,!%- '!- ./0123/45.32 7 89%-(::%-;'!< !"#$%&./0123/45.32* 7
I
>?"#$%>J
>0";A>J>?,C!>J
>E"-;'+'">J
LL O %C,PM( ;$"MMA C"Q$ 8 '!'-'"M Q"MP$%RRR
K9
• However…the value at !"#$%&F* >?5*F D. 5787848)*89.F
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 8/25
>,$ 4,'# 0(<$
• ";. +C"; 4<A. 8= ) >;?*. 75HD.6 4<A. 4;)4 6)7:.= @6?H R%+S 4?
%+T
• U?>.B.61 4;. +C"; 4<A. ;)= )7?4;.6 =A.38)* 5=.V
• -;)4 ;)AA.7= 8@ ! 657 4;8= 3?F.Q
+C"; -$%- 7 S89
%-(::+,P- TT -$%- TT %-(::$!(M9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 9/25
+,'# +"?$ /. &40/".
• QVQVQVQV
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 10/25
&=+--
• !"#$$ – W =4)7F)6F89.F 75HD.6 3?F. >;.6. .B.6< 75HD.6
3?66.=A?7F= 4? ) =A.38@83 *.44.6
• !4 4567= ?54 4;)4 4;. 75HD.6 &' 8= 4;. 3?F. @?6 )7 5AA.63)=. WV
• O< F.@)5*41 8@ <?5 +,P- ) +C";1 84 >8** ?54A54 4;. WJX!! *.44.6
3?66.=A?7F87: 4? 4;. 75HD.6
• ";8= 8= >;< >. 3)** 84 ) +C"; – 84 =4)7F= @?6 &'()(&*+) V
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 12/25
You don’t have to memorize the table!
• Y)4;.6 4;)7 ;)B87: 4? 6.H.HD.6 4;)4 &' 3?66.=A?7F= 4? 4;. *.44.6
A, we can use a shortcut…
• J87:*. M5?4.= )6?57F ) *.44.6 =8:78@8.= 84 8= ) 3;)6)34.6E
LL 3C'% C"% -C$ %"#$ ;$%PM- "% -C$ U;',; $)"#UM$+C"; -$%- 7 VWV9
%-(::+,P- TT -$%- TT %-(::$!(M9
• !74.67)**<1 XZZ 3?7B.64= 4;. VWV 874? 4;. )AA6?A68)4. 75HD.6 K&'L
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 13/25
&."0,$# 9:';<1$
+C"; -$%-B 7 VWV X DB9
%-(::+,P- TT -$%-B TT %-(::$!(M9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 14/25
&##'( "A 4,'#)
• [5=4 *8/. >84; )7< ?4;.6 4<A.1 >. 3)7 ;)B. )7 )66)< ?@ 3;)6)34.6=E
+C"; Y,;(&S* 7I
ZBJ
S[J
ZSJZSJ
Z[J
=
K9
%-(::+,P- TT Y,;( TT %-(::$!(M9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 15/25
Array of chars, Cont’d
• Y57787: 4;. A6.B8?5= 3?F. <8.*F=E
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 16/25
Array of chars, cont’d
• -. 3?5*F 6.>684. 4;. 3?F. )=E
+C"; Y,;(&S* 7
I
V\VJ
V5VJ
V]VJ
V]VJ
V^VJ
=
K9
%-(::+,P- TT Y,;( TT %-(::$!(M9
• O54 >;< 8= 4;. =89. ?@ 4;. )66)< & 87=4.)F ?@ '1 )7F >;< 8= 4;. B)*5.
87 4;. *)=4 87F.\ ,Q
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 17/25
+B=0(1$ =0#/.5) '.? CD11 >$#;/.'0"#)
• W7 )66)< ?@ 3;)6)34.6= 8= )*=? [email protected] 4? )= ) #,-*./+ -*)012
• W XR=4<*. =4687: H5=4 .7F >84; ) , )@4.6 4;. *)=4 *.44.6 – 4;. 9.6? 8=
4;. =A.38)* WJX!! 3?F. @?6 4;. 13// *+)401(*5)
• If you don’t have the 0, anything that operates on the CR=4<*.
=4687: K873*5F87: +,P-) won’t end a the proper point
• ";. 75** 4.6H87)4?6 8= >;)4 =8:78@8.= 4;)4 4;. XR=4<*. =4687: 8=
?B.6VVV
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 18/25
E,'0 ,'<<$.) /A 7$ ";/0 0,$ .D11 0$#;/.'0"#F
+C"; Y,;(&8* 7 I V\VJ V5VJ V]VJ V]VJ V^V K9
%-(::+,P- TT Y,;( TT %-(::$!(M9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 19/25
Or looking at it another way…
• ]8B.7 4;. @?**?>87: XR=4<*. =4687:E
+C"; Y,;(&S* 7 I V\VJ V5VJ V]VJ V]VJ V^VJ = K9• ";8= 3?F.E
%-(::+,P- TT Y,;( TT %-(::$!(M9
• !4 8= .M58B)*.74 4?E
'!- ' 7 =9YC'M$ _Y,;(&'* `7 =a
I
%-(::+,P- TT Y,;(&'*9
'XX9
K
%-(::+,P- TT %-(::$!(M9
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 20/25
CD11 >$#;/.'0"#
• ]8B.7 4;. @?**?>87: XR=4<*. =4687:E
+C"; Y,;(&S* 7 I V\VJ V5VJ V]VJ V]VJ V^VJ = K9
G?483.E 4;. 13// *+)401(*5) 8= 7?4 .73*?=.F 87 =87:*. M5?4.= K^ ^L
!7 XZZE= 77 V=V 8= 6!7"8
!7 6.)*84<1 87 XZZE
= 77 Vb=V
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 21/25
+B)0(1$ )0#/.5 -./0/'1/2'0/".
• J? ?@ 3?56=.1 >68487: ?54 ) XR=4<*. =4687: *8/. 4;8= 8= )77?<87:E
+C"; Y,;(&S* 7 I V\VJ V5VJ V]VJ V]VJ V^VJ = K9
• "? @8\ 4;8= 8==5.1 >. 3)7 87848)*89. 84 *8/. =?E
+C"; Y,;(&S* 7 >\5]]^>9
• This will automatically add the null terminator, so we don’t have to
>?66< )D?54 )FF87: ?7 ) 9.6?P
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 22/25
+Bstyle strings, cont’d
• -;)4 4;8= H.)7= 8= 4;)4 >;.7 <?5 =)<E
%-(::+,P- TT >\$MM, Y,;M(`> TT %-(::$!(M9
• XZZ 8= )345)**< =.36.4*< 5=87: XR=4<*. =4687:=VVV
• It’s not using %-(::%-;'!<
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 23/25
=,"#04D0) D<". ),"#04D0)
• There’s something slightly annoying about this initialization:
+C"; Y,;(&S* 7 >\5]]^>9
• The problem is we have to remember that even though it’s 5
*.44.6=1 >. 7..F & =A?4= 87 4;. )66)<
•
O.3)5=. 4;. *)=4 =A?4 8= 4;. 75** 4.6H87)4?6
• J? )7?4;.6 =;?64354 8= 4? C5=4 ?H84 4;. 75HD.6 ?@ .*.H.74= 87 4;.
)66)<E
+C"; Y,;(&* 7 >\5]]^>9• C++ will automatically figure out that it’s 5 letters plus a null
4.6H87)4?61 =? 4;. =89. =;?5*F D. &P
7/16/2019 Week04_L02(1)-3
http://slidepdf.com/reader/full/week04l021-3 24/25
&."0,$# 9:';<1$
• ";8= >8** >?6/ C5=4 @87.E
+C"; %-Pcc&* 7 >OV# %,;;AJ O +"!V- (, -C"-J 4"Q$R>9%-(::+,P- TT %-Pcc TT %-(::$!(M9