>> SPEAKER 1: به نظر می رسد ما می توانیم با موفقیت مبادله ارزش ها در دو
متغیر با عبور آنها را در عمل نه با ارزش و یا کپی کنید، اما
توسط مرجع یا با آدرس خود را.
به عبارت دیگر، ما نیاز به اهرم چیزی شناخته شده به عنوان یک اشاره گر.
اشاره گر، واقعا، فقط آدرس برخی از متغیر.
و به این ترتیب اگر ما شما را به یک تابع به نام، مثلا با آدرس مبادله
یک متغیر و آدرس دیگری متغیر، مبادله باید به قدرت
به هر یک از این آدرس و در واقع تغییر
ارزش هایی که وجود دارد.
>> اجازه دهید این را در چهار چوب.
اجازه دهید مبادله reimplement به شرح زیر است.
اول، اجازه دهید تغییر یک به یک بین المللی نمی اما به یک اشاره گر به یک int یا
آدرس هوشمند.
سپس در همان کار را برای ب، در حال تغییر دهید آن را از نوع int به یک اشاره گر به
اعضای هیات و یا آدرس یک int.
>> سپس در داخل از مبادله، اجازه دهید هنوز هم اعلام TMP به طوری که ما یک
محل موقت برای یک ارزش است.
اما به مقدار یک به خودی خود نیست، زیرا، دوباره، در حال حاضر آدرس
برخی از اعضای هیات.
بنابراین اگر ما می خواهیم برای رفتن به آن آدرس و دریافت هوشمند در آن آدرس، ما
dereference این اشاره گر، همچنین از طریق اپراتور ستاره، نوشتن ستاره.
>> بعد، من نمی خواهم به تغییر ارزش یک.
من می خواهم برای تغییر مقدار در ، با در نظر گرفتن، دوباره،
که یک آدرس است.
بنابراین برای انجام این کار، من دوباره باید می گویند ستاره می شود.
و در حال حاضر من می خواهم به در ارزش قرار داده که در ب ارزش ب است، نیست، که
همچنین یک آدرس است.
>> پس دوباره من می گویم، ستاره ب.
سپس در آخرین خط من، من به نیاز بازنویسی آنچه که در آدرس ب با
آنچه در در محل اصلی بود.
برای انجام این کار، من ستاره ب می شود TMP.
>> حالا در پایان روز، این تابع است که هنوز هم تنها
سه خط کد.
اما از آنجا که آن را دستکاری ارزش از طریق آدرس خود را و نه
مقادیر اولیه که به تصویب رسیده بود، تابع، I ادعا کرد که در حال حاضر
قدرت برای تغییر ارزش هایی که در طریق آدرس آنها گذشته باشد.
>> اما من نیاز به یک تغییر هنوز هم.
من دیگر نمی تواند عبور در x و y خود را.
من نیاز به تصویب در آدرس از x و y.
و برای انجام این کار، من باید کمی مختلف بالا نماد است.
من می خواهم به مبادله x و y با عبور در آدرس x، نشان داده شده با
علامت x، و آدرس Y، نشان داده شده با علامت y است.
>> به طور مشابه، تا بالا اکنون به نیاز من تغییر نمونه تابع به
مطابقت با تغییر که من ساخته ام، به طوری که است، دوباره، یک اشاره گر به یک int.
ب است، دوباره، یک اشاره گر به یک int.
و در حال حاضر من می توانم فایل من را نجات دهد.
و اجازه دهید دوباره کامپایل و اجرا کنید.
>> را مبادله نقطه بریده بریده.
و این زمان، x و y در واقع در حال حاضر تعویض به طوری که ارزش های خود نیست
1 و 2، اما 2 و 1.