1 00:00:00,000 --> 00:00:00,320 2 00:00:00,320 --> 00:00:02,700 >> DAVID J. MALAN: میں ایک پروگرام لکھنے ہیں ہم اقدار کے تبادلہ کرنے کی کوشش کریں جس میں 3 00:00:02,700 --> 00:00:04,970 دو متغیر، X اور Y. 4 00:00:04,970 --> 00:00:07,490 پیشگی میں، میں نے بہت کچھ لکھا ہے پہلے ہی اس پروگرام کے. 5 00:00:07,490 --> 00:00:11,130 سب سے پہلے، میں ایک متغیر، ایکس کا اعلان، اور، اس میں 1 قیمت ذخیرہ. 6 00:00:11,130 --> 00:00:14,120 پھر میں نے متغیر Y کا اعلان اور اس میں قیمت، 2 ذخیرہ. 7 00:00:14,120 --> 00:00:17,700 >> اس کے بعد میں ظاہر کرنے کے لئے printf کے ساتھ آگے بڑھنے کے ان دو متغیر کی اقدار. 8 00:00:17,700 --> 00:00:21,090 پھر میں نے ایک اور printf کے ساتھ دعوی ان متغیرات گماگمن کی جائے. 9 00:00:21,090 --> 00:00:23,690 پھر میں تبدیل نامی ایک تقریب کو فون. 10 00:00:23,690 --> 00:00:26,100 اور پھر میں نے کا دعوی ہے کہ متغیر تبدیل کر دیا گیا ہے. 11 00:00:26,100 --> 00:00:30,610 اور پھر میں پرنٹ کیا میں نے کا دعوی X اور Y کی نئی اقدار ہیں. 12 00:00:30,610 --> 00:00:32,030 >> اب اس تقریب میں تبدیل کیا ہے؟ 13 00:00:32,030 --> 00:00:34,970 یہ سی کے ساتھ آتا ہے کہ کچھ نہیں ہے بے شک، ہم کے سب سے اوپر پر نظر ڈالیں تو میری 14 00:00:34,970 --> 00:00:38,850 فائل، آپ نے اعلان کیا ہے کہ محسوس کریں گے اس تقریب میں تبدیل ھو نے والے کے لئے ایک پروٹوٹائپ 15 00:00:38,850 --> 00:00:42,750 یہ دو ints کے لیتا ہے وضاحت کی، منمانے ایک بی اور کہا جاتا ہے، اور اس 16 00:00:42,750 --> 00:00:44,300 تقریب کچھ بھی واپس نہیں کرتا. 17 00:00:44,300 --> 00:00:48,370 تو شاید، یہ کیا کہتا ہے کرتا ہے سویپ ایک اور B کی اقدار میں. 18 00:00:48,370 --> 00:00:50,170 اب تبدیل ھو نے والے کو لاگو کرتے ہیں. 19 00:00:50,170 --> 00:00:53,820 >> سب سے پہلے، میں ایک عارضی اعلان کرنے جا رہا ہوں متغیر اور اس پر تفویض 20 00:00:53,820 --> 00:00:57,260 ایک میں قیمت، اگرچہ میں صرف کر سکتے ہیں کے طور پر آسانی سے B میں محفوظ کیا. 21 00:00:57,260 --> 00:01:00,925 میں اس وقت کی قیمت کو تبدیل کرنے جا رہا ہوں ایک بی میں اس کے برابر ہو. 22 00:01:00,925 --> 00:01:04,849 اور پھر آخر میں، میں تبدیل کرنے کے لئے جا رہا ہوں ب کی قیمت کیا تھا لیکن ہے ہونا 23 00:01:04,849 --> 00:01:06,340 اب TEMP میں. 24 00:01:06,340 --> 00:01:08,910 >> اب میں صرف کیا ہے کا دعوی منطقی طور پر درست ہے. 25 00:01:08,910 --> 00:01:12,780 میں، ایک عارضی متغیر میں محفوظ کیا جاتا ہے تو ب کے لئے ایک کی قیمت کو تبدیل، اور 26 00:01:12,780 --> 00:01:15,580 کیا کی تھی ہونا B کی قیمت کو تبدیل. 27 00:01:15,580 --> 00:01:18,620 لیکن میں مرتب اور اس کے چلانے، جب پروگرام، مجھے لگتا ہے کہ نہیں ہے فکر 28 00:01:18,620 --> 00:01:20,140 میں دیکھ رہا ہوں کیا جا رہا ہے. 29 00:01:20,140 --> 00:01:21,625 >> ، کوئی سویپ. 30 00:01:21,625 --> 00:01:24,350 ڈاٹ، کوئی تبدیل ھو نے والے سلیش. 31 00:01:24,350 --> 00:01:27,560 اور بدقسمتی سے، printf کے مطابق، X اور Y کی قدر، یہاں تک کہ 32 00:01:27,560 --> 00:01:31,560 ہم گماگمن کا دعوی کے بعد ان کے، اب بھی 1 اور 2 ہے. 33 00:01:31,560 --> 00:01:32,630 >> اب ایسا کیوں ہے؟ 34 00:01:32,630 --> 00:01:36,160 ٹھیک ہے، یہ پتہ چلتا ہے کہ اہم میں، جب ہم نے میں گزر، اس تقریب میں تبدیل ھو نے والے کال 35 00:01:36,160 --> 00:01:39,960 دلائل کے طور پر X اور Y، یہ اصل میں ہے X اور Y کی کاپیاں ہے 36 00:01:39,960 --> 00:01:41,310 تبدیل ھو نے والے میں گزر رہے ہیں. 37 00:01:41,310 --> 00:01:45,430 یعنی، ان کی اقدار 1 اور 2 ہیں A اور B کے طور پر تبدیل میں منظور. 38 00:01:45,430 --> 00:01:48,590 اور یہ کہ ہم آخر میں ہیں کہ ایک اور ب کے اہم گماگمن. 39 00:01:48,590 --> 00:01:50,810 >> 2 1 بن جاتا ہے، 1 2 ہو جاتا ہے، ہے. 40 00:01:50,810 --> 00:01:54,630 لیکن تبدیل نہیں واپسی قیمت ہے کیونکہ اور اس کی وجہ یہ x کی نقول موصول 41 00:01:54,630 --> 00:01:58,220 اور Y، یہ رویہ ہے ہے X اور Y پر کوئی اثر نہیں. 42 00:01:58,220 --> 00:02:02,610 بے شک، A اور B، تو بات کرنے scoped ہیں، X اور Y رہے جبکہ، تبادلہ 43 00:02:02,610 --> 00:02:03,990 اہم scoped. 44 00:02:03,990 --> 00:02:05,070 >> تو ہم نے ایک مسئلہ ہے. 45 00:02:05,070 --> 00:02:06,320 لیکن یہ کس طرح ٹھیک کرنے کے لئے؟ 46 00:02:06,320 --> 00:02:08,312