SPEAKER 1: Izkazalo se je, smo lahko Uspešno swap vrednosti v dveh spremenljivke po njih prehaja v delovati, ne glede na vrednost ali kopija, vendar glede ali njihovih naslovov. Z drugimi besedami, moramo vzvod Nekaj ​​znan kot kazalec. Kazalec, res, je samo naslov neke spremenljivke. In tako, če želimo zagotoviti funkcijo imenovano, recimo, zamenjali z naslovom spremenljivka in naslov drugo spremenljivka je treba swap podeliti pooblastila za pojdi na vsakega od teh naslovov in dejansko spremenili vrednote, ki so tam. Poglejmo to v kontekstu. Oglejmo reimplement zamenjave, kot sledi. Najprej, kaj je spremenilo, ne da bi int ampak da se kazalec na int ali naslov notr. Potem pa naredite enako za b, spreminjanje da iz notr, da bo kazalec int ali naslov notr. Potem notri zamenjave, dajmo še razglasi tmp, tako da imamo začasno mesto za vrednostne. Vendar je vrednost ne samo, ker Ponovno, je zdaj naslov nekaterih int. Torej, če želimo iti na ta naslov in dobili int na tem naslovu, imamo dereference ta kazalec, tudi s pomočjo Operater zvezda, pisanje STAR. Dalje, ne želim, da spremenite vrednost. Hočem, da spremenite vrednost na , vodenje v mislih, še enkrat, da je naslov. Tako, da to stori, spet potrebujem reči zvezda bolnikih. In zdaj bi rad dal v vrednosti da je pri B, ne vrednosti b, ki je tudi naslov. Še enkrat ponavljam, zvezda b. Potem je v moji zadnji vrstici, moram prepisati kaj je na naslovu b z kaj je bilo na prvotnem mestu je. Da bi to dosegli, jaz zvezda b dobi tmp. Sedaj na koncu dneva, to funkcija je še vedno samo tri vrstice kode. Ampak zato, ker je to manipulacijo vrednosti s pomočjo njihove naslove in ne surove vrednote, ki so bili sprejeti v Funkcija, trdim, da je zamenjava zdaj pooblaščena za spreminjanje vrednosti, ki se prenesejo v preko njihovih naslovov. Ampak moram narediti eno spremembo vedno. Ne morem več prenesti v x in y same. Moram opraviti v naslovih x in y. In za to, rabim malo drugačen zapis up top. Želim, da bi zamenjali X in Y s prehodom v naslov X, ki ga označuje ampersand x in naslov y, ki ga označuje znak & y. Podobno, do vrha zdaj moram Spremenite funkcijo v prototip za ujema s spremembo, ki sem jo naredila, tako da je, še enkrat, kazalec na int. b je, še enkrat, kazalec na int. In zdaj sem lahko shranite mojo kartoteko. In kaj je prevesti in zagnati ga. Naredite swap dot slash swap. Tokrat x in y so dejansko zdaj zamenjale, tako da so njihove vrednosti ni 1 in 2, vendar 2 in 1.