>> SPEAKER 1: Kiderült, hogy tudjuk sikeresen cserélni az értékeket két
változó módon, hogy azokat egy A funkció nem érték, vagy a másolás, de a
hivatkozással vagy a címüket.
Más szóval, meg kell, hogy felerősítse valami ismert a mutató.
A mutató, tényleg, csak a címét néhány változó.
És ha egy függvény neve, mondjuk cserélni a címét
a változó, és a címét egy másik változó csere fel kell hatalmazni arra, hogy
megy minden egyes ilyen címek és változtatja meg a
értékek vannak.
>> Nézzük ezt az összefüggésben.
Nézzük újraimplementálni csere az alábbiak szerint.
Először is, hadd változtatni, hogy ne legyen egy int hanem, hogy a mutató egy int vagy
címét egy int.
Akkor csináljuk ugyanezt b, a változó ez egy int, hogy a mutató egy
int vagy címének egy int.
>> Ezután belső swap, nézzük is kijelentik tmp, hogy mi van a
ideiglenes hely egy értékét.
De egy értéke nem önmagában, mert Ismét, a most a cím
Néhány int.
Tehát, ha azt akarjuk, hogy menjen arra a címre, és kap int azon a címen, hogy van
hivatkozás feloldási Ez a mutató, szintén útján a csillag üzemeltető, az írás csillag a.
>> Ezután, nem akar változtatni az értéke egy.
Meg akarom változtatni az érték Egy, szem előtt tartva, ismét
a van, hogy egy címet.
Tehát erre, megint kell mondani csillag a dolog.
És most azt akarom, hogy az érték ez B, nem az érték b, amelynek
szintén egy címet.
>> Tehát még egyszer mondom, csillag b.
Aztán az utolsó sorban, el kell felülírni, ami címen B
mi volt egy eredeti helyére.
Ehhez én csillag b kap tmp.
>> Most a végén a nap, ez funkció még mindig csak
három sornyi kódot.
De mivel ez manipulálni értékek útján a címét, és nem a
nyers értékeket adtak át a funkció, azt állítják, hogy a csere most
jogosult megváltoztatni az értékeket, a telt keresztül címeket.
>> De azt kell, hogy egy változás is.
Én már nem felelt meg x és y magukat.
Azt kell, hogy adja át a címeket Az x és y.
És erre, szükségem van néhány kissé különböző jelölési fel tetején.
Azt akarom, hogy cserélni x és y halad az x címét, jelzi
jel x, és a címét y, jelzi jel y.
>> Hasonlóképpen, akár felső most már el kell megváltoztatni a függvény prototípus
egyezik a változás, hogy már készül, hogy a Egy az, hogy ismét a mutató egy int.
b, ismét, a mutató egy int.
És most már tudom menteni a fájlt.
És hadd újrafordítani és futtatni.
>> Legyen swap-pont perjel csere.
És ez alkalommal, x és y valóban most cserélték hogy ezek az értékek nem
Az 1. és 2, de 2 és 1.