1 00:00:00,000 --> 00:00:03,080 >> سرور 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 ثم دعونا نفعل نفس الشيء بالنسبة ب، وتغيير فإنه من كثافة أن يكون مؤشر إلى 15 00:00:40,820 --> 00:00:42,780 الباحث أو عنوان لكثافة العمليات. 16 00:00:42,780 --> 00:00:45,860 >> ثم داخل المبادلة، دعونا لا تزال تعلن تمة بحيث لدينا 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 إلغاء مرجعية هذا المؤشر، وأيضا عن طريق مشغل نجمة، نجمة الكتابة أ. 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 للقيام بذلك، وأنا لا نجمة ب يحصل تمة. 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 القيم الخام التي تم تمريرها إلى وظيفة، وأزعم أن المبادلة الآن 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 عن طريق تمرير في عنوان العاشر الذي يشار إليه بواسطة 42 00:02:02,510 --> 00:02:07,190 س العطف، وعنوان ذ، يتبين من العطف ذ. 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