>> SPIKA 1: Ni zamu nje tunaweza mafanikio kubadilishana maadili katika mbili
vigezo na kuvigawa katika kazi si kwa thamani au kwa nakala, lakini
kwa kumbukumbu au kwa anwani zao.
Kwa maneno mengine, tunahitaji kujiinua kitu inayojulikana kama pointer.
pointer, kwa kweli, ni tu anwani ya baadhi ya kutofautiana.
Na hivyo kama sisi kutoa kazi kuitwa, kusema, kubadilishana na anwani ya
kutofautiana na anwani ya mtu mwingine variable, wabadilishane wanapaswa kupewa uwezo wa
kwenda kila moja ya anwani wale na kweli mabadiliko ya
maadili ambayo ni huko.
>> Hebu angalia hii katika mazingira.
Hebu reimplement wabadilishane kama ifuatavyo.
Kwanza, hebu kigeugeu kwa kuwa int lakini kwa kuwa pointer kwa int au
barua pepe ya int.
Basi hebu kufanya hivyo kwa b, kubadilisha kutoka int kuwa pointer kwa
int au anwani ya int.
>> Kisha ndani ya kubadilishana, hebu bado kutangaza TMP hivyo kwamba tuna
mahali muda kwa ajili ya ya thamani.
Lakini ya thamani ni si yenyewe, kwa sababu, tena, a ni sasa anwani
baadhi ya int.
Hivyo kama tunataka kwenda kwa anwani hiyo na kupata int katika anwani hiyo, tuna
dereference pointer hii, pia kwa njia ya nyota operator, kuandika nyota a.
>> Next, sitaki kubadili thamani ya.
Nataka kubadilisha thamani katika a, kuweka katika akili, tena,
kwamba a ni anwani.
Hivyo kufanya hivyo, mimi tena haja kusema nyota a anapata.
Na sasa nataka kuweka katika thamani kwamba katika b, si thamani ya b, ambayo
pia ni anwani.
>> Hivyo tena nasema, nyota b.
Kisha katika line yangu ya mwisho, mimi haja ya overwrite ni nini anwani b na
nini katika eneo a ya awali.
Kwa kufanya hivyo, mimi nyota b anapata TMP.
>> Sasa mwishoni mwa siku, hii kazi ni bado tu
mistari ya maadili ya.
Lakini kwa sababu ni kufanyia maadili kwa njia ya anwani yao na si
maadili mbichi kwamba walikuwa kupita katika kazi, mimi kudai kwamba wabadilishane ni sasa
uwezo wa kubadili maadili ambayo ni kupita katika kupitia anwani zao.
>> Lakini mimi haja ya kufanya mabadiliko moja bado.
Siwezi tena kupita katika x na y wenyewe.
Mimi haja ya kupitisha katika anwani ya x na y.
Na kwa kufanya hivyo, mimi nahitaji kidogo mbalimbali nukuu juu juu.
Nataka wabadilishane x na y kwa kupita katika barua pepe ya x, unahitajika kwa
Ampersand x, na anwani ya y, unahitajika kwa Ampersand y.
>> Vile vile, juu juu sasa nahitaji kubadili mfano kazi kwa
mechi ya mabadiliko ya kwamba nimepata alifanya, hivyo kwamba a ni mara ya pili, pointer kwa int.
b ni mara ya pili, pointer kwa int.
Na sasa siwezi kuokoa faili yangu.
Na hebu recompile na kukimbia.
>> Kufanya wabadilishane dot slash wabadilishane.
Na wakati huu, x na y ni kweli sasa walibadilishana kama kwamba maadili yao ni si
1 na 2, lakini 2 na 1.