Ila i loụi biến dùn... nêu tnol clòi inặc clịnh ilii phiìi ỉà J 5 nèu ha dỏi niặc dịnlì ihi pli:ii la cl3.. các bi cn toàn bu... sau klìi hi ên dịcli mỗi hàĩii sè cỏ một lên khác nhau.
Trang 1C h u ơ i ì Ị ỉ 2
C h ư ơ i ì í i n à y t r ì n h b à y /ĩlỉthỉỊỉ k h d n ã n ỵ n i ớ ì c ù a ứ ' íroỉĩỊỊ v i ệ c x â y dỉntịỊ và s ư d ụ n i i h à n u D ó là:
- Kiéiỉ ỉììcnìì cì ìi êu va việ c í r u y ẻ n (lữ l iệ u c h o h à m h ã n ^ ihuỉiì chỉêii.
1.1 Ila i loụi biến dùn<Ị trong c
T r ư ó c khi nói d c n b ic n l lì am chiÔLi, c l i ú n g ta nlìãc lại 2 loại bic*n u ặp
t r o n g ( ' là:
lỉiôiì giá Irị d ù n u dc c h ứ a dù' liệu (nguycMi, lhực\ ký lự, .)
liiốn con iro d ù n u ilc c h ứ a dịa chi
C'ác b i c n n ày d c u d ư ợ c ciiim c â p bộ n h ớ v à c ó d ị a chi V í d ụ c â u lộnlì
klìai báo:
í'ií^'>nh ì n y , * p x ;
s ò t ạ o ra b i ê n g i á trị k i è u d o u b l c X v à b i ê n c o n trò k i ê u d o u h l c p \ B i ô i i
X có \' ùníi n h ở 8 b \ l e biến p \ có v ù i m n h ớ 4 hyt c ( n c u d ù n g ni ò liìnli
La ru c) l ĩ i c n X d ù n u d ê c h ử a g iá Irị k i ê u doLiblc, ví d ụ l ệ n h gán:
sẽ c h ử a gi á Irị 3 14 v à o biốn X Bi ến px d ù n g đế c h ứ a dị a ch; c ù a một biốn t hực, ví d ụ câu lệnh:
p x &x ;
sẽ lưu irCr dị a chi c u a bi ến \ vào c on tro px.
1.2 Bicn tham chiếu
T r o i m c * c h o p h é p s ử d ụ n » loại b i ên t h ứ b a là bi ên t h a m chiêu So với
2 kụú biên q u e n hiõl noi Irôn thì bicn này có n h ữ i m đặ c dicMii sau:
Trang 2t l i i cn i hani chi ỏu khoiiy d u ợ c c â p pliál bộ nhớ k h ô n g có d ị a chi riênu.
v ù n g nliớ c u a biên n à \ Vi dụ câu lệnh:
í 1 o a t - u , V, í r u ;
t ạ o ra c á c b i ế n t h ự c u V \ à hi ố n t h a m c h i é u t h ự c r B i ế n r k h ô n g d ư ợ c
c ấ p phát bộ Iihớ nó là niộl tèn khác (hí d a n h ) c ủ a u v à n ó d ù n g c h u n g v ù n g
n h ớ c u a hiốn u,
1 ' h i i ậ t iiịỊữ: Khi r là bí danli (alias) c u a u thì ta nói r t h a m c h i ế u đ ế n
bi cn u Nhu' v ậ y 2 i huật nuũ' Irêii dirực hi êu uhir nhau.
Ý n ” hĩ a : Khi r !à bi danh cua 11 ihì r d ù n g c h u n g v ù n g n h ớ c ủ a u, d o đó :
• 1 r o i m m ọ i c à u l ệ n h \ ict LI h a \ \ ièt r d ô u c ó ý n g h ĩ a n h ư n h a u , v ì d e u
t r u\ n h ậ p dỏn cùnti niộl \ iini! nhớ.
i C'ỏ Uiê duiiu biên ihani chicu dê tru\ nh ậ p đ ế n m ộ t bi ến ki êu gi á Irị.
c ỏ r i ị ; clụn»: liiến i h a m chiốLi tliườiie d ư ợ c s ứ d ụ n g l àm dối c ủ a h à m đê
c h o p h é p h à m Iruv n h ậ p dcii các tliain sô bi en t r ong lời gọi h à m.
Vàì c h ú i' Vt' biéii tliíiin c h iể u :
a Vi hicn lliain c hi eu kliòim cỏ dị a chi ricMí’, nó chi là hí d a n h c ủ a một
h i ê n k i ê u uiá In n ê n troiiỊ! khai b á o pliái chi rõ n ó t h a m c h i ế u d e n b i ô n nào
\ ' í d ụ nêu khai hao:
c Kl i ỏ n g c h o p h é p kliai h á o ni a n u ihani chi cu
d B i ế n tliani c h i ế u c ó tliê tlium c h i ế u d ế n m ộ t h à n g Khi d ó nó sẽ sir d ụ i m \ ù n u Iihứ c u a h ầ n u \ à n ó c ỏ i h è l à m t h a y d ố i gia Irị c h ứ a t r o ii g
\ ù n u n h ớ nà_\.
Trang 3Vi d ụ ncLi kliai bíỉo:
C'liu'(yníi irinlì d u ớ i d à \ nì inh h ọa các h d ù n g hi ên lliani clì i cu d c n IIIỘI
p h ầ n Ui’ n i a i m c â u irúc d c nlìập d ữ liệu \ à t h ụ c lìiẹn c a c p h é p líiìh Irên các
1.3 Ila iiịỊ tliaiu chiếu (const)
1 lă n u ih an i cliicLi d u ‘ọ'c khai b á o llìco m a u :
Trang 4C' ách tiìiĩi” : lláiìg ilìaiìì cliicu clìo pliép sir d ụ n g uiá Irị c h ứ a t r o n g mộ t
\ Linu nhó', n l u r n u k h ô n u CỈH) plK‘p llìav' dôi uiá Irị này.
I l ă n u ih a n i cliicLi l l i u ò i m diiỢí^’ su d ụ n u l àm d ố i c u a h à m d c c h o p h é p
h à m sư d ụ i m Lĩiá irị c u a cac ihaiiì sỏ tronu lời gọi h à m , n h ư n u t r á n h k h ô n g
laiiì l h a \ d ôi ịiìíì irị c u a cá c ih an i sỏ.
i h a n i sò IMuioim p h á p n à \ c o 2 Iihirọc diciìì cliíiih:
T ô n kóin vê thòi ụian \ à bộ nlìớ v ì phai lạo ra các b à n sao K h ô n g t hao Uic t r ụ c ù c p trc n c á c llìain sỏ, \ ì \ ậ \ kl ì ỏ n u l àm Ih ay dô i d u ợ c g i á irị cá c
í hani sò.
2.2 '1'ruycn ^iá trị cho lìàin tlico tham cliiếu
T r o n g ( ' CUIILĨ c a p llìcni cáclì lrii\ ỏi i d ữ liệu c h o lìàiiì i h c o t h a m chiốLi
b ã n u c á c h d ì i n a dôi là hiên ih an ì clìicu lìoặc đô i là h a n g t h a m clìiêu C á c h
Trang 52.3 M ố i quan hộ ịỊÌiìa dối vÌầ tliaiìi số IroriỊỊ lòi gọi hàm
N c u d ô i là b i c n h o ặ c hăiìíz t h a m chicLi k i è u K thì i h a n i sô ( I r o n g lời gọị hàni) phai là hi ên ho ạ c p h â n l ư m á n u ki êu K Vi dụ:
+ Dối là bi cn h o ặ c h ầ n u t h a m chicLi ki cu d o u h l e , íhi lliani số là bicn hoặc pliần l ư m a i m kicLi d o u h l e
+ D ố i là b i ế n h o ặ c h à n g i h a m c h i ế u kicLi c ấ u tr úc , llìi t h a m s ố là bieii hoậc p h à n i ư m a n u ki êu c â u trúc
2.4, Các chiroiiịỊ trình minh họa
Trang 6- ỉn m ộ l c â u i rú c (in họ tên \ à l ỏ n g đièiìi)
Ch i r ơ n u trinh sè n h ạ p d ừ liệu niộl d a n h s á ch ihí si nh, n h ậ p đi cni c h u ẩ n
\ a in d a n h s á ch ilìi si nh Irúne tuNcn
Trang 7/ * (' hì ưc?r uỊ t r ì nhì 5J(1U ( Ị ồ í i i c á c h à r n :
Trang 8V'í d ụ 1 Irìiilì b à \ nìột lìàni tra vc lììộl lliani clìiéu d ế n i nộl hiciì toàn b(V
jf i rìC'1 uclí' r c NJf ĩ i h>
|j i n c I ucicí <C()ri i a h >
i n ( 7 ;
Trang 9Ví d ụ 2 íiinli bà> mộí hà nì Ira \ c hí danlì c u a m ộ t bicii c á u Irtìc toàii
bộ Kliác \ 0 ' 1 \ i d ụ ircĩi a &ây k h ỏ n u d ù n g h à m mộ l c ác h trục l i êp !ìià uán
l l à i n sc k i ê m tra XCIIÌ clìi s ỏ m a n g c ó M rạ i ra n g o à i n ì i ê n q u \ dịnlì h a \
k h ò n u S a u d o diìní: haiìi này d ê l m \ lìỉiập d c n các phằii tư n i a n u c a u Iriìc.
Trang 11c o u l < < ‘' \ n l i o l ( Mi : " < < h h l ;
c o u t < < " \ n ' i ' { ) n ( Ị ( i i í í ỉ i i : " < < h t c i ;
MỘI I r o n e c á c k h a n ã n u ỉiiạnli c u a c ' " là lìỏ c h o p l ì é p x â y ciựim
h à m \cVi c á c d ô i c ó u i á Irị i nặc dị nh- 1 h ò i m t h ư ờ i ì u sô lliaiìì s ỏ l i o n u lời uọi lìàni plìai b ă n g s ô d ỏ i c u a h à m M o i d ô i sè d ư ợ c k h ở i g á n ui á Irị t h e o ihaiìi sỏ tircrnu ửnLĩ c u a nó ' l ' r o n u c ' c h o p h é p l ạ o iziá trị inặc
dịnlì cluì c á c d ô i C’ác d õ i Iìà\ có i ho c ỏ h o ặ c k h ô n u c ó i h a i n s ỏ tuxnìg írnu I r o n u lòi uọi liãin Klìi k h ô ỉ i u c ỏ t h a m s ò l ư ơ n u ửi i u d ô i di r ợc
4.2 Quy íác xây tlụns lùuiì \(Vi dối mặc ciịiih
t C'ác dổi m ặ c dịiilì c ằ n phai là c á c dối c u ố i c ù n u líiìlì lìr Irái s a n ụ phai ( ì i a sư có 5 dũi i hco t hứ lụ' lù' trái sanu phai là
d l d 2 d 3 d 4 , d 5
Khi dó:
Trang 12nêu tnol clòi inặc clịnh ilii phiìi ỉà J 5
nèu ha dỏi niặc dịnlì ihi pli:ii la cl3 d4 cl5
( 'UL' \ ỉ dụ sai:
\ a d5 mặ c dị nh (khi do d4 ciìim phai ĩììặc dị nh)
d ỏ \ a d 4 I i ì ặc d ị n h ( k h i d o d 5 c i ì n u pl i ai m ặ c d ị n h )
n i ặ c cliiilì c à n LÌược k h a i u á n Irt ì i i u i m u \ c i i l ì i a u \' í d ụ :
!ìi_ỉlìĩa h a i ì ì N c u \ 1 plìạiri dicL! n à \ ihi chưtriio trin h d ị c h sò i hô i i u b á o lồi.
• Klii \ à \ dụi i u liàiiì- ncu khỏiig khai báo ^ v_ n g u y ê n c ^ i nầu, thì các dối niạc dịiih đirọc klìDÌ uán i roim dòi m d â u cua dịnli neliĩa h à m \'í dụ:
i ( i i a tri d ù n u clc klìoi uan clìo dòi niặc dịnli
u lỉic (.UiiiLi CUL haiiu các bi cn toàn bu các h à m đC‘ kh^íi gáii CỈK) dôi
m ặ c dịnlì \ í cỉụ:
v o i d ! { i n t n , i n l m MAX, i n t x í ĩ i a x ( Ị o t m a x x ( ì ,
i n [ y ỉ f i < ) x ( Ị ( ' t i n i x y { ) ) ;
4.3 Cácli su (iụiiỊi liàiii có (lối mặc cíịnh
i ,ứi uọi h a m c à n \'iẽt lỈKH) q u \ dịnli sau:
Ca c tliani sò llìièu vănu triHiu lòi uọi ỉiàin phài l ư a i m ửi m vứi các đôi
m ặ c dịnỉi CIIÕI CIIMLÍ (línli lừ trái sanụ phai).
Nói cácli kliác: Dã di ine eiá trị inặc di nh clio m ộ t dối (lai nh i ê n pliái là
d ô i m ặ c d ị n h ) ihi c ũ n e pliai SU' d ụ n u uiá Irị n i ặc d ị n h clio c á c d ô i c ò n lại.
Trang 14\ ' í ilụ LỈuoi d à ) Irinli ba\ liàiiì línỉì tích p h â n xác dị nh g ô m 3 dôi: r là lìaiiì c a n l í n h l í c h plìàiì a \ a h lá cá c cậiì du ’ới \ à Ircn (a < b) C á 3 dối f, a
\ á b d õ u m ặ c d ị n l ì ( ì i á Irị m ặ c d ị n h c u a c o n t r o h à m r i à d ị a c h i c u a h à m h p( b i n h p l n r o i m ) c u a a h ă i ì u í), c u a h b ã i m 1
Trang 15§5 C Á C H À M T R Ự C T U Y É N (IN LIN E)
5.1 li u , nhiiọc (liêm cua hàm
V i ệ c lò c h ứ c c l n r ư n u Irìnli ihàiili c á c liàm c ỏ 2 ư u d i ê m rõ rệt: r i i ư nhấ t là c h i a c l i ư ư i m irinli i h à n h c á c d ơ n vị d ộ c l ập l à m CÌKI c l u a r n u
t r ì nh di r ợc lỏ c h ứ c m ộ l cácl i kl i oa h ọ c d c k i ề m s o á i ciễ p h á t h i ệ n lỗi dc pliál i r i ê n nio' rội m.
T h ử hai là uiani dirọc kícli thirơc c h ư ơ n u Irình, \ i nìồi doại i chưcíim trinh t hục hiện nliiộni \ ụ c u a iiàm d ư ợ c lliay b à n u m ộ t lời gọi h à m.
I'u\ nhi ên h à m cũni; có nhirợc d i ê m là làm c h ậ m lôc dộ c h ư ư i m trình
phái N ÙIILÌ nho' c ho cac dối \'à biến cục bộ i r uycn d ữ liệu c u a c á c lliani sù
c ho các dôi uiai ỊThỏiiLỉ \ i i n u n h ớ trirớc klii i hoál khơi hàm.
Ca c h a m Irụv l u \ ê i i troni: C'" c ho k ha nă ni ’ k h ă c phục d ư ự c n h ư ợ c
d i ê m noi Irèn.
5.2, C,'ác hàni trục tuyến
Dê biên mộ t h à m i hành Irực luycii la \ iêl t h ê m l ừ khoá:
i n 1 i n c
\ à o Irưóc kliai b á o n u u y ê n m ầ u hàm, N e u kl i ông diiim n e u \ ê n mầ u ihi
\ ict lìr k h o á n à \ trirớc dỏr m d ầ u liên c ú a dịiih i mhĩ a h à m Ví dụ:
C h ú ý: TrDiiLi IIÌỌÌ I rir àn u lìợp, từ klìoá in l i n e p h a i x u â l liiện Irirức cá c
lời uọi h à m lliì Irinli b i ê n dịcli iuỏ'i hicl c â n \U' lý lìàni i h c o k i c u inlinc.
Ví d ụ h à m 1'iroiìu clìirơne trinh sau sè k h ỏ i m phai là lìànì irỊĩc luN ciì \ i lìr khíKi inlinc \ ’icl sau lời aọi hàiiì:
Trang 16C h ú v'; l i o n e C'' \ ncu h à m d ư ợ c xà\ d ụ i m sau lời íiọi h ù m ihì bẳt buộc
phai kliai b á o nuLiNcn mầ u liàm i r uớc lới uọi, Trong ví d ụ trên, t rì nh bi ên
i hao lác cỏ líiili llni lụe k!ii iiọì lìàỉiì.
5.4 So sáiìlì inacro và hànt trục tuyen
DưiiLĩ lìKicro \ a ham Uụv IU\Ò!1 dòu d a n đ c n hi ệu q u a luxrnu lự luy
iriìc c u a clìuxriiy trìnlì dề SU' dỊiim và i ránh dirợc các sai sót lậl vặt lliirừng
Liặp k h i ỏ ù n n ‘' ' d e ỉ l n c ( I i l ur t h i ê u c a c d â u n u o ặ c d a u c h â m p h â y )
5.5 K hi nào thì nên dùn” liàin (rục tuyến
Pluro'nu an d ù i m hàiìì irirc luyòiì rút i măn dirực thời ui an c h ạ y m á y nliuiìLĩ lại l àm tãim khối l ưọng bộ n h ớ clìLRTng Irinh ( nhai là dối \ ới các ỉìàm
i rục t u\ cn c ó nlìicu c;ìư lệMìh) Vi \'ậy cli! Iicn d ù i m p h ư ơ n g án Irirc t u y ền dối
\ ới các liáni nho.
1 h ậ m chí ùr klioá inliiic vần bị bo q u a n g a y ca dối với các h à m k h ô n g
có nhìriìu h ạ n clic IICU Irciì nỏu nlur triiìh bicii d ị ch i h ấ y c ầ n llìiet (\'í d ụ da
có q u á nliiêii lìàin inline làni c h o hộ nhớchi RTii g Irinh q u á lớn).
Trang 17V í i l ụ : C'lui’o'!m Irinh s a u s ư d u n e liàiiì in li nc líiìlì c h u \ i \ à d i ệ n lícli cuci liinh c h ữ nhậl:
riìinniỉ^ áỉì / Klìỏim kliai báo n mi y ê n Iiìau k h i cló hàiiì citc\ hcn pliai
dăl ircii liànì inain.
C h ủ ý: Kh ỏ i ì u d ư ọ c dật i nl i nc I r u ở c dịiìh nul ìĩ a liàni 1’roiiu c l u r ơ n u
t rì nh d u ớ i clã\ ncii dặl ỉ nl i nc I r u ớc dịiih nul ìĩ a h à m ihì h ậ u q u a nlìir sau;
Cl u u y n u irìiìli \ a n d ị c h lliỏiìu I i hưnu khi c h ạ y thì c h ư ơ n u t r ì n h bị q u â n ,
Trang 186.1 K liái niệm về định iiịỊliĩa cliono
Dị hIi i mh ĩ a c l i ồ n u (lia_\ c ò n iiọi s ự lai b ội ) các h à m là di i nu c ì i ng mộ t
lòn ctẽ LỈịnh iiLíhĩa các h à m kh a c n h a u l )â\' là m ộ t m ở r ộ n u râl có ý n u h ĩ a
c u a C'
Nhir d ã hiêt iroim c \ à cac ngôn ngừ khác (nliư PASCA1- 1-’0 X P R 0 ,
mồi h á m dỏLi phai cỏ m ộ t len |ihàn biệt Dùi klii d à y là niộl s ự h ạ n c h ế kVn,
\ ì phai ilùni! n h i êu h à m khác nh a u d è lliục liiện c ù i m m ộ t c ô i m việc Ví d ụ d ê
là> u i á Irị l u \ ệ l d ôi li'oim ( ■ câii d ù n u lới 3 h à m k h á c nhau;
Nhó' klia năi m dị nh n u hĩ a chồi m i ronu c ” có ihê d ù n g c h u n g mộ t lẽn
clio c a 3 h á m trê n nl ur sau:
Trang 196.2 \ êu cầu \ ề các luìiu dịiili lìịỊhĩa chồiiịỊ
Klìi clìiỉìu c ú n u ni ộ l lên dỏ dịiih lìíiliĩa Iilìicu h à m Iriiilì b i c n d ị c h c " sC’
d ụ a \'ài) s ự kliác n h a u \ è l ập dôi c u a c á c h ai n n à \ d ê d òi tcn c á c hàiìi Nlnr
\ ậ y sau klìi hi ên dịcli mỗi hàĩii sè cỏ một lên khác nhau.
T ừ cló c h o l l ì a \ ; các lìaiiì d u ợ c dịnlì nulìĩa i r ù n u lôii pliai c o l ập dõi
k h á c ỉilìau ( \ c s ỏ lirọim lìoậc ki êu) N ê u 2 liàni hoàii t o à n i r ù i ì e tL ' 1 1 \ a irìiim dổi ihi trìnlì biCMi dịclì sè kl ìỏi m có cáclì naiì plìâiì bi ệl d i r ạ c N e a \
c a kh i 2 liàm nà> c ó k i c u k h á c nl ìa u ihi Iriiìli b i ê n dị cl i \ a n b a o loi Vi du
s a u \ â > d ụ n u 2 hàiiì CIUÌU c ỏ iCmi là T v à cìi im c ỏ lììộl LÌỗi nuuN cii a nlnriìi!
k i ê u hàiii k h a c nliaii llàiiì i h ử lìhàt ki êu n m i y ê n ( t ra \ ê a ^ a ) h ù m llìú liai
k i ê u \ ' o i d ( i n u i á t rị a ) C’lìU'oiìLỉ i r i i ì h s ò bị t l ì ỏ i m h á t ) l ồi k h i hiC‘n d ị c h
6.3 Sử (lụnỉi các lìàm liịnh n»hĩa cliồnỊỊ
Khi u ậ p Iiiộl loi uọi Irinli b i c n ciỊcli sc c à n c ử \'à() s ò kr ợni ! \'à kiôii
c u a c á c i hani sổ d c eọi liàiiì có dúni : iCmì và clíinu h ộ dổi s ỗ tưcYiig ÚĨÌU