1 00:00:00,000 --> 00:00:03,080 >> SPEAKER 1: به نظر می رسد ما می توانیم با موفقیت مبادله ارزش ها در دو 2 00:00:03,080 --> 00:00:07,670 متغیر با عبور آنها را در عمل نه با ارزش و یا کپی کنید، اما 3 00:00:07,670 --> 00:00:10,390 توسط مرجع یا با آدرس خود را. 4 00:00:10,390 --> 00:00:12,740 به عبارت دیگر، ما نیاز به اهرم چیزی شناخته شده به عنوان یک اشاره گر. 5 00:00:12,740 --> 00:00:15,580 اشاره گر، واقعا، فقط آدرس برخی از متغیر. 6 00:00:15,580 --> 00:00:19,660 و به این ترتیب اگر ما شما را به یک تابع به نام، مثلا با آدرس مبادله 7 00:00:19,660 --> 00:00:23,550 یک متغیر و آدرس دیگری متغیر، مبادله باید به قدرت 8 00:00:23,550 --> 00:00:26,090 به هر یک از این آدرس و در واقع تغییر 9 00:00:26,090 --> 00:00:27,360 ارزش هایی که وجود دارد. 10 00:00:27,360 --> 00:00:28,890 >> اجازه دهید این را در چهار چوب. 11 00:00:28,890 --> 00:00:31,360 اجازه دهید مبادله reimplement به شرح زیر است. 12 00:00:31,360 --> 00:00:35,810 اول، اجازه دهید تغییر یک به یک بین المللی نمی اما به یک اشاره گر به یک int یا 13 00:00:35,810 --> 00:00:36,920 آدرس هوشمند. 14 00:00:36,920 --> 00:00:40,820 سپس در همان کار را برای ب، در حال تغییر دهید آن را از نوع int به یک اشاره گر به 15 00:00:40,820 --> 00:00:42,780 اعضای هیات و یا آدرس یک int. 16 00:00:42,780 --> 00:00:45,860 >> سپس در داخل از مبادله، اجازه دهید هنوز هم اعلام TMP به طوری که ما یک 17 00:00:45,860 --> 00:00:47,810 محل موقت برای یک ارزش است. 18 00:00:47,810 --> 00:00:52,430 اما به مقدار یک به خودی خود نیست، زیرا، دوباره، در حال حاضر آدرس 19 00:00:52,430 --> 00:00:53,270 برخی از اعضای هیات. 20 00:00:53,270 --> 00:00:57,320 بنابراین اگر ما می خواهیم برای رفتن به آن آدرس و دریافت هوشمند در آن آدرس، ما 21 00:00:57,320 --> 00:01:03,020 dereference این اشاره گر، همچنین از طریق اپراتور ستاره، نوشتن ستاره. 22 00:01:03,020 --> 00:01:05,470 >> بعد، من نمی خواهم به تغییر ارزش یک. 23 00:01:05,470 --> 00:01:08,770 من می خواهم برای تغییر مقدار در ، با در نظر گرفتن، دوباره، 24 00:01:08,770 --> 00:01:10,350 که یک آدرس است. 25 00:01:10,350 --> 00:01:14,050 بنابراین برای انجام این کار، من دوباره باید می گویند ستاره می شود. 26 00:01:14,050 --> 00:01:18,360 و در حال حاضر من می خواهم به در ارزش قرار داده که در ب ارزش ب است، نیست، که 27 00:01:18,360 --> 00:01:19,720 همچنین یک آدرس است. 28 00:01:19,720 --> 00:01:22,280 >> پس دوباره من می گویم، ستاره ب. 29 00:01:22,280 --> 00:01:26,690 سپس در آخرین خط من، من به نیاز بازنویسی آنچه که در آدرس ب با 30 00:01:26,690 --> 00:01:28,970 آنچه در در محل اصلی بود. 31 00:01:28,970 --> 00:01:32,910 برای انجام این کار، من ستاره ب می شود TMP. 32 00:01:32,910 --> 00:01:34,820 >> حالا در پایان روز، این تابع است که هنوز هم تنها 33 00:01:34,820 --> 00:01:35,950 سه خط کد. 34 00:01:35,950 --> 00:01:39,860 اما از آنجا که آن را دستکاری ارزش از طریق آدرس خود را و نه 35 00:01:39,860 --> 00:01:43,700 مقادیر اولیه که به تصویب رسیده بود، تابع، I ادعا کرد که در حال حاضر 36 00:01:43,700 --> 00:01:47,670 قدرت برای تغییر ارزش هایی که در طریق آدرس آنها گذشته باشد. 37 00:01:47,670 --> 00:01:49,510 >> اما من نیاز به یک تغییر هنوز هم. 38 00:01:49,510 --> 00:01:52,190 من دیگر نمی تواند عبور در x و y خود را. 39 00:01:52,190 --> 00:01:55,030 من نیاز به تصویب در آدرس از x و y. 40 00:01:55,030 --> 00:01:58,160 و برای انجام این کار، من باید کمی مختلف بالا نماد است. 41 00:01:58,160 --> 00:02:02,510 من می خواهم به مبادله x و y با عبور در آدرس x، نشان داده شده با 42 00:02:02,510 --> 00:02:07,190 علامت x، و آدرس Y، نشان داده شده با علامت y است. 43 00:02:07,190 --> 00:02:10,570 >> به طور مشابه، تا بالا اکنون به نیاز من تغییر نمونه تابع به 44 00:02:10,570 --> 00:02:14,980 مطابقت با تغییر که من ساخته ام، به طوری که است، دوباره، یک اشاره گر به یک int. 45 00:02:14,980 --> 00:02:17,190 ب است، دوباره، یک اشاره گر به یک int. 46 00:02:17,190 --> 00:02:18,770 و در حال حاضر من می توانم فایل من را نجات دهد. 47 00:02:18,770 --> 00:02:20,680 و اجازه دهید دوباره کامپایل و اجرا کنید. 48 00:02:20,680 --> 00:02:25,330 >> را مبادله نقطه بریده بریده. 49 00:02:25,330 --> 00:02:29,660 و این زمان، x و y در واقع در حال حاضر تعویض به طوری که ارزش های خود نیست 50 00:02:29,660 --> 00:02:31,950 1 و 2، اما 2 و 1. 51 00:02:31,950 --> 00:02:34,900