25
!"#$ &##'()* +,'#) !"# %&'  ()** +,%' -../ 01 2.3456. +

Week04_L02(1)-3

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 11/25

&=+-- >'@1$

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

7/16/2019 Week04_L02(1)-3

http://slidepdf.com/reader/full/week04l021-3 25/25

G'@ H#'40/4'1 IJ