SPEAKER 1: On käynyt ilmi voimme onnistuneesti vaihtaa arvoja kahdessa muuttujia viemällä ne toimiakseen eikä arvoa tai kopioida, mutta viittaamalla tai niiden osoitteet. Toisin sanoen, meidän täytyy hyödyntää jotain tunnetaan osoitin. Osoitin, todella, on vain osoite joitakin muuttuja. Joten jos tarjoamme toiminto nimeltään, vaikkapa vaihtaa osoitteen kanssa muuttuja ja osoite toisen muuttuja, swap olisi valtuudet mennä jokaiseen näistä osoitteista ja todella muuttaa arvot, jotka ovat siellä. Katsotaanpa tämän yhteydessä. Katsotaanpa reimplement swap seuraavasti. Ensimmäinen, nyt muuta ei olla int vaan olla osoitin int tai osoite int. Sitten Tehdään sama b, muuttuvat se int olla osoitin int tai osoite int. Sitten sisällä swap, katsotaanpa vielä julistaa TMP niin että meillä on väliaikainen paikka arvoa. Mutta arvo ei ole sinänsä, koska uudelleen, on nyt osoite Joidenkin int. Joten jos haluamme mennä kyseiseen osoitteeseen ja saada int kyseisessä osoitteessa, meillä on dereference tämä osoitin, myös tapa tähden operaattori, kirjoittaa tähti. Seuraava, en halua vaihtaa arvoa. Haluan muuttaa arvoon , pitäen mielessä, jälleen, että on osoite. Niin tehdä niin, en enää tarvitse sanoa tähti saa. Ja nyt haluan laittaa arvon se on b, ei-b: n arvo, joka on myös osoite. Joten sanon uudestaan, tähti b. Sitten minun viimeinen, minun täytyy korvata mikä on osoitteessa b kanssa mikä oli alkuperäinen sijainti. Voit tehdä, että minä teen tähti b saa tmp. Nyt lopussa päivä, tämä toiminto on edelleen vain kolme riviä koodia. Mutta koska se on manipuloimalla arvot Poiketen heidän osoitteensa eikä raaka-arvot, jotka siirrettiin osaksi toiminto, Väitän, että swap on nyt valtuudet muuttaa arvoja kulkeutuvat kautta niiden osoitteet. Mutta minun täytyy tehdä yksi muutos vielä. En voi enää kulkea x-ja y itse. Minun täytyy kulkea osoitteet x-ja y. Ja tehdä sitä, minä tarvitsen hieman eri merkintätapa ylös. Haluan vaihtaa x ja y johtamalla vuonna osoite x, ilmaistaan et-merkki x ja osoite y, ilmaistaan ​​ampersand y. Samoin ylös nyt tarvitsen muuttaa funktion prototyyppi vastaavat muutokset, jotka olen tehnyt, jotta on, jälleen, osoitin int. b on, jälleen, osoitin int. Ja nyt voin pelastaa minun arkistoida. Ja antaa kääntää ja ajaa se. Tee swap dot slash swap. Ja tällä kertaa, x ja y ovat todellakin nyt vaihtoivat siten, että niiden arvot eivät ole 1 ja 2, mutta 2 ja 1.