1 00:00:00,000 --> 00:00:11,320 2 00:00:11,320 --> 00:00:13,260 >> DAVID MALAN: خوش، اور CS50 واپس کا خیر مقدم. 3 00:00:13,260 --> 00:00:14,860 اس لیے اس ہفتے کے اختتام پر چار ہے. 4 00:00:14,860 --> 00:00:16,680 سب سے پہلے صرف ایک اعلان. 5 00:00:16,680 --> 00:00:19,600 ہے نام نہاد پانچویں پیر تو اس آنے والے پیر کو آ رہا. 6 00:00:19,600 --> 00:00:22,800 اس سے تبدیل کرنے کے لئے موقع ہے ایک خط گریڈ / UNSAT SAT، یا کی طرف سے 7 00:00:22,800 --> 00:00:24,130 خط گریڈ / UNSAT بیٹھی. 8 00:00:24,130 --> 00:00:27,130 Annoyingly، اس عمل کو ایک کی ضرورت ہوتی ہے آپ کو بھرنے کی ضرورت ہے دستخط، کیونکہ 9 00:00:27,130 --> 00:00:28,770 ان گلابی شامل کریں / ڈراپ فارم میں سے ایک باہر. 10 00:00:28,770 --> 00:00:31,680 >> کیونکہ تکنیکی طور پر، سیٹ / UNSAT ورژن اور خط گریڈ ورژن 11 00:00:31,680 --> 00:00:33,320 واضح کیٹلوگ تعداد ہے. 12 00:00:33,320 --> 00:00:34,240 لیکن کوئی بڑی بات نہیں. 13 00:00:34,240 --> 00:00:36,620 بس میری آئے یا لوٹنے کے لئے یا کسی بھی موڑ پر لارین کرنے کے لئے. 14 00:00:36,620 --> 00:00:39,550 تم قسم کی ضرورت نہیں ہے یا اگر ہمیں ای میل کاغذی کارروائی کے آپ آج کی ضرورت ہے، اور ہم 15 00:00:39,550 --> 00:00:43,410 آپ کو لینے میں مدد کے لئے اس بات کا یقین ہو جائے گا پیر کے روز اس سے پہلے کہ اس کی دیکھ بھال. 16 00:00:43,410 --> 00:00:45,780 >> ٹھیک ہے، تو آج - 17 00:00:45,780 --> 00:00:47,630 اصل میں، ایک گونج کے تھوڑا سا ہے. 18 00:00:47,630 --> 00:00:51,070 ہم سر مجھے نیچے تھوڑا کر سکتے ہیں؟ 19 00:00:51,070 --> 00:00:51,730 ٹھیک ہے. 20 00:00:51,730 --> 00:00:54,850 آج تو، ہم ایک موضوع کو متعارف کرانے اشارہ کے طور پر جانا جاتا ہے. 21 00:00:54,850 --> 00:00:57,770 اور مجھے اس میں سے ایک ہے یہ تسلیم کریں گے ہم دیتے ہیں کہ زیادہ پیچیدہ موضوعات 22 00:00:57,770 --> 00:01:00,960 اس کلاس میں احاطہ کرتا ہے، یا واقعی کسی بھی سی کا استعمال کرتا ہے کہ تعارفی کورس 23 00:01:00,960 --> 00:01:05,510 >> لیکن خاص طور پر، اس کے لئے میرے لفظ لے آپ کے دماغ تھوڑا سا زیادہ مڑی ہوئی محسوس کرتا ہے تو 24 00:01:05,510 --> 00:01:07,100 آج اور ہفتوں میں آنے کے لئے. 25 00:01:07,100 --> 00:01:10,340 یہ آپ کو حاصل کرنے کا نمائندہ نہیں ہے اس کو کسی بھی بدتر یہ صرف کا مطلب ہے کہ 26 00:01:10,340 --> 00:01:13,360 یہ ایک خاص طور پر پیچیدہ موضوع ہے میں وعدہ کرتی ہوں کہ چند ہفتے 27 00:01:13,360 --> 00:01:17,610 اس وجہ سے، بہت strikingly لگے گا ماضی میں براہ راست. 28 00:01:17,610 --> 00:01:18,720 >> میں اب بھی اس دن کے لئے یاد ہے. 29 00:01:18,720 --> 00:01:22,190 میں، ایلیٹ ڈائننگ ہال میں بیٹھا تھا میری TF نشاط مہتا کے لئے اگلے بیٹھے، 30 00:01:22,190 --> 00:01:24,070 ایلیٹ گھر کے ایک رہائشی جو تھا. 31 00:01:24,070 --> 00:01:26,340 اور کسی وجہ سے، یہ موضوع صرف کلک کرتا ہے. 32 00:01:26,340 --> 00:01:29,430 جس میں بھی جدوجہد کا کہنا ہے کہ کرنے کے لئے ہے وقت کی کچھ رقم کے لئے اسے، لیکن میں کے ساتھ 33 00:01:29,430 --> 00:01:33,610 ایسی کسی سے بچنے کے لئے مدد کرنے کے لئے اپنی پوری کوشش کروں گا ایک موضوع کے ساتھ کہ بالآخر جدوجہد 34 00:01:33,610 --> 00:01:34,580 کافی طاقتور ہے. 35 00:01:34,580 --> 00:01:37,350 >> اصل میں، موضوعات میں سے ایک ہم بات کریں گے آنے والے ہفتوں میں یہ ہے کہ 36 00:01:37,350 --> 00:01:41,130 کی سیکورٹی، اور کس طرح آپ نے واقعی کر سکتے ہیں طریقوں سے فائدہ اٹھانے کی مشینیں 37 00:01:41,130 --> 00:01:42,320 اس کا ارادہ نہیں تھا. 38 00:01:42,320 --> 00:01:45,850 اور ان exploitations عام طور پر کر رہے ہیں کیڑے، غلطیوں کا نتیجہ ہے کہ ہم 39 00:01:45,850 --> 00:01:49,740 لوگوں کو کچھ سمجھ نہیں سے بنانا بنیادی عمل کا 40 00:01:49,740 --> 00:01:52,250 تفصیلات جس کے ذریعے پروگراموں کے بنائے جاتے ہیں. 41 00:01:52,250 --> 00:01:55,410 >> اب اس بنانے کے لئے سب سے زیادہ صارف لگتے ہیں دوستانہ، میں نے ایک 10 کھیلنے سوچا 42 00:01:55,410 --> 00:01:59,680 تھوڑا claymation کی دوسری پیش نظارہ کرنے کے لئے لایا گیا تھا جو Binky نامی کے اعداد و شمار 43 00:01:59,680 --> 00:02:03,020 سٹینفورڈ میں ہمارا ایک دوست کی طرف سے زندگی، پروفیسر نک Parlante. 44 00:02:03,020 --> 00:02:06,753 تو مجھے آپ کو یہ دینے کے لئے کی اجازت دیتے ہیں یہاں Binky کی جھلکی. 45 00:02:06,753 --> 00:02:09,520 >> [ویڈیو پلے بیک] 46 00:02:09,520 --> 00:02:10,380 >> -ارے، Binky. 47 00:02:10,380 --> 00:02:11,050 اٹھو. 48 00:02:11,050 --> 00:02:13,610 یہ پوائنٹر تفریح ​​کے لئے وقت ہے. 49 00:02:13,610 --> 00:02:14,741 >> کیا ہے؟ 50 00:02:14,741 --> 00:02:16,440 اشارہ کے بارے میں جانیں؟ 51 00:02:16,440 --> 00:02:17,928 اوہ، goodie. 52 00:02:17,928 --> 00:02:18,920 >> [END ویڈیو پلے بیک] 53 00:02:18,920 --> 00:02:20,670 >> DAVID MALAN: سٹینفورڈ ہے کمپیوٹر سائنس. 54 00:02:20,670 --> 00:02:23,194 تو زیادہ اس پر آنے کے لئے. 55 00:02:23,194 --> 00:02:24,930 >> [تالیاں] 56 00:02:24,930 --> 00:02:26,660 >> DAVID MALAN: معذرت، نک. 57 00:02:26,660 --> 00:02:30,680 >> تو ہم کو ختم ہو گئی ہے کہ آخری بار یاد یہ واقعی دلچسپ cliffhanger 58 00:02:30,680 --> 00:02:32,960 جس کے تحت اس تقریب صرف کام نہیں کیا. 59 00:02:32,960 --> 00:02:34,960 کم از کم intuitively، یہ محسوس کیا اس طرح کام کرنا چاہئے. 60 00:02:34,960 --> 00:02:37,600 بس اقدار گماگمن دو integers کے. 61 00:02:37,600 --> 00:02:40,915 لیکن یاد ہے کہ ہم باہر طباعت اہم، ایک اور میں اصل اقدار 62 00:02:40,915 --> 00:02:44,210 دو، وہ اب بھی ایک تھے اور دو اور نہ دو اور ایک. 63 00:02:44,210 --> 00:02:46,070 >> تو مجھے اصل میں سوئچ دو سے زیادہ آلات پر. 64 00:02:46,070 --> 00:02:50,180 اور میں میں کنکال کوڈ کا تھوڑا سا اپ نے لکھا میں دعوی کرتے ہیں، جہاں یہاں کو آگے بڑھانے کے کہ ایکس 65 00:02:50,180 --> 00:02:52,500 1 ہو جائے گا، Y 2 ہو جائے گا. 66 00:02:52,500 --> 00:02:54,810 میں نے تو ان دونوں کو باہر پرنٹ پرنٹ F ساتھ اقدار. 67 00:02:54,810 --> 00:02:57,540 >> میں پھر یہاں نیچے کا دعوی ہے کہ ہم ان کا تبادلہ کرنے کے لئے جا رہے ہیں. 68 00:02:57,540 --> 00:03:00,800 میں ہمارے لئے کے لئے یہاں ایک خالی جگہ چھوڑ دیا ایک پل میں آج درج کریں. 69 00:03:00,800 --> 00:03:03,380 اس کے بعد، میں نے کا دعوی کرنے جا رہا ہوں کہ دو متغیر تبدیل کر دیا گیا ہے. 70 00:03:03,380 --> 00:03:04,770 پھر میں پرنٹ کرنے کے لئے جا رہا ہوں پھر انہیں باہر. 71 00:03:04,770 --> 00:03:07,090 اور اس لئے امید ہے کہ، میں، 2 1 دیکھنا چاہیئے. 72 00:03:07,090 --> 00:03:07,380 2، 1. 73 00:03:07,380 --> 00:03:09,830 سپر آسان ہے ابھی مقصد. 74 00:03:09,830 --> 00:03:12,430 >> تو ہم گماگمن کے بارے میں کس طرح جانا ہے دو متغیر؟ 75 00:03:12,430 --> 00:03:17,220 میں یہاں تجویز ٹھیک ہے کہ اگر ان کپ ایک کمپیوٹر میں میموری کی نمائندگی کرتے ہیں ہو سکتا ہے. 76 00:03:17,220 --> 00:03:19,070 یہ، چند کاٹنے ہے ایک اور چند کاٹنے ہے. 77 00:03:19,070 --> 00:03:23,260 ہم ایک رضاکار اور تازہ پر آ سکتا تھا واقف تو ہمیں کچھ مشروبات ملا؟ 78 00:03:23,260 --> 00:03:23,920 اپ چلو. 79 00:03:23,920 --> 00:03:24,815 آپ کا نام کیا ہے؟ 80 00:03:24,815 --> 00:03:25,260 >> JESS: جیس. 81 00:03:25,260 --> 00:03:25,690 >> DAVID MALAN: جیس؟ 82 00:03:25,690 --> 00:03:26,540 ، اپ پر جیس آو. 83 00:03:26,540 --> 00:03:29,180 آپ برا نہ مانے تو ہم ڈال کرنے کی ضرورت آپ پر گوگل گلاس تو ہم کر سکتے ہیں 84 00:03:29,180 --> 00:03:30,430 اس امر. 85 00:03:30,430 --> 00:03:32,800 86 00:03:32,800 --> 00:03:34,670 ٹھیک ہے، گلاس. 87 00:03:34,670 --> 00:03:37,250 ایک ویڈیو ریکارڈ کریں. 88 00:03:37,250 --> 00:03:43,103 اور ٹھیک ہے، ہم اچھے ہیں یہاں جیس کے ساتھ جاؤ. 89 00:03:43,103 --> 00:03:43,810 ٹھیک ہے. 90 00:03:43,810 --> 00:03:45,120 آپ سے مل کر اچھا لگا. 91 00:03:45,120 --> 00:03:47,720 >> تو میں چاہوں گا تم یہاں کیا - بہت جلد، آپ کر سکتا ہے تو - 92 00:03:47,720 --> 00:03:51,040 صرف ہمیں سنتری کے نصف ایک گلاس pours رس اور دودھ کی نصف ایک گلاس، 93 00:03:51,040 --> 00:03:55,710 مؤثر طریقے سے کی تعداد 1 کی نمائندگی دیگر کپ میں ایک کپ اور 2 میں. 94 00:03:55,710 --> 00:04:01,380 95 00:04:01,380 --> 00:04:02,630 >> یہ اچھی فوٹیج بننے جا رہی ہے. 96 00:04:02,630 --> 00:04:04,910 97 00:04:04,910 --> 00:04:05,860 >> JESS: معاف کیجئے گا. 98 00:04:05,860 --> 00:04:06,330 >> DAVID MALAN: نہیں، نہیں. 99 00:04:06,330 --> 00:04:08,703 یہ ٹھیک ہے. 100 00:04:08,703 --> 00:04:10,120 اچھا. 101 00:04:10,120 --> 00:04:12,950 ٹھیک ہے، تو ہم چار بائٹس ہے سنتری کا رس کی قیمت. 102 00:04:12,950 --> 00:04:14,460 ہم اس کی قیمت 1 بلایا گے. 103 00:04:14,460 --> 00:04:16,579 اب دودھ کی قیمت میں ایک اور چار بائٹس. 104 00:04:16,579 --> 00:04:18,519 یہ 2 کی قدر فون کروں گا. 105 00:04:18,519 --> 00:04:20,440 بالترتیب، x اور y کیا تو. 106 00:04:20,440 --> 00:04:23,450 >> ٹھیک ہے، تو اب ہاتھ میں کام تو - سب کے سامنے آپ کے لئے، جیس، 107 00:04:23,450 --> 00:04:24,270 اپنے ہم جماعتوں کے - 108 00:04:24,270 --> 00:04:28,510 X اور Y ایسے کی اقدار کا تبادلہ کرنے کے لئے ہے ہم میں سنتری کا رس چاہتے ہیں 109 00:04:28,510 --> 00:04:32,070 دیگر کپ اور اس کپ میں دودھ، کس طرح آپ سکتا ہے - اگر آپ واقعی کرنے سے پہلے 110 00:04:32,070 --> 00:04:34,020 یہ - ایسا کرنے کے بارے میں جانا ہے؟ 111 00:04:34,020 --> 00:04:35,220 >> ٹھیک ہے، فیصلہ بڑی حکمت والا ہے 112 00:04:35,220 --> 00:04:36,340 تو کیا تم تھوڑا سا زیادہ میموری کی ضرورت ہے. 113 00:04:36,340 --> 00:04:38,190 تو اس کی ایک عارضی مختص دو کپ، اگر آپ. 114 00:04:38,190 --> 00:04:40,540 اور اب X اور Y تبادلہ کرنے کے لئے آگے بڑھنے. 115 00:04:40,540 --> 00:04:52,950 116 00:04:52,950 --> 00:04:53,530 >> بہترین. 117 00:04:53,530 --> 00:04:54,420 تو بہت اچھا کیا. 118 00:04:54,420 --> 00:04:55,670 ، اتنا جیس آپ کا شکریہ. 119 00:04:55,670 --> 00:04:59,520 120 00:04:59,520 --> 00:05:00,020 تم یہاں ہو. 121 00:05:00,020 --> 00:05:01,950 ایک چھوٹی سی نشانی. 122 00:05:01,950 --> 00:05:04,350 >> ٹھیک ہے، تو ظاہر ہے، سپر آسان ترکیب. 123 00:05:04,350 --> 00:05:07,500 ہم تھوڑا سا کی ضرورت ہے کہ مکمل طور پر بدیہی زیادہ سٹوریج کی جگہ - اس فارم میں، 124 00:05:07,500 --> 00:05:09,750 ایک کپ - ہم واقعی چاہتے ہیں تو ان دو متغیر تبادلہ. 125 00:05:09,750 --> 00:05:11,110 تو بالکل ایسا ہیں. 126 00:05:11,110 --> 00:05:14,330 یہاں میں ہوں دعوی جہاں درمیان میں کچھ گماگمن کر جا رہا، میں کروں گا 127 00:05:14,330 --> 00:05:15,720 آگے بڑھو اور TEMP کا اعلان. 128 00:05:15,720 --> 00:05:17,980 اور میں ایکس، کا کہنا ہے کہ، یہ برابر قائم کریں گے. 129 00:05:17,980 --> 00:05:21,110 >> پھر میں کی قدر تبدیل کرنے کے لئے جا رہا ہوں صرف جیس طرح ایکس کے ساتھ یہاں کیا 130 00:05:21,110 --> 00:05:23,200 دودھ اور سنتری کا رس Y برابر ہو. 131 00:05:23,200 --> 00:05:27,460 اور میں برابر Y تبدیل کرنے کے لئے جا رہا ہوں اب ہم ہوں گے نہ کرنے کی وجہ سے X، 132 00:05:27,460 --> 00:05:29,530 ایک دائرے کی مانند میں پھنس گیا، بلکہ TEMP. 133 00:05:29,530 --> 00:05:33,170 کہاں میں عارضی طور پر - یا جہاں جیس عارضی طور پر سنتری کا رس ڈال 134 00:05:33,170 --> 00:05:35,460 کہ clobbering سے پہلے دودھ کے ساتھ ایک کپ. 135 00:05:35,460 --> 00:05:37,250 >> تو مجھے اب آگے بڑھو اور اس کے بنانے کے لئے ہیں. 136 00:05:37,250 --> 00:05:39,210 یہ noswap.c کہا جاتا ہے. 137 00:05:39,210 --> 00:05:41,190 اور اب مجھے کوئی تبادلہ چلاتے ہیں. 138 00:05:41,190 --> 00:05:43,910 میں وسعت اور اگر واقعی میں دیکھ کر، ونڈو تھوڑا سا، کہ 139 00:05:43,910 --> 00:05:45,160 X 1 ہے، Y 2 ہے. 140 00:05:45,160 --> 00:05:47,230 اور پھر ایکس 2 ہے، Y 1 ہے. 141 00:05:47,230 --> 00:05:51,910 >> لیکن پیر کو ہم نے جو چیزیں یاد تھوڑا سا مختلف جس میں 142 00:05:51,910 --> 00:05:56,760 اس کے بجائے، ایک مددگار عملدرآمد تقریب اگر آپ، کہ اصل میں صفر تھا. 143 00:05:56,760 --> 00:05:58,010 میں نے اس کے تبادلہ سے ملاقات کی. 144 00:05:58,010 --> 00:06:01,600 میں نے یہ دو اجزاء کو دیا، اور میں نے فون کیا انہیں ایک اور میں ان ب سے ملاقات کی. 145 00:06:01,600 --> 00:06:04,380 >> سچ کہوں تو، میں نے ان X اور Y کو فون کر سکتے ہیں. 146 00:06:04,380 --> 00:06:06,040 کو روکنے کی کوئی بات نہیں ہے ایسا کرنے سے. 147 00:06:06,040 --> 00:06:08,140 لیکن میں اس وقت ہے بحث کریں گے تھوڑا سا مبہم. 148 00:06:08,140 --> 00:06:11,910 کیونکہ پیر کے روز کے لئے یاد ہے کہ ہم ان پیرامیٹرز تھے نے دعوی کیا کہ 149 00:06:11,910 --> 00:06:13,650 اقدار کی کاپیاں رکنیت منظور 150 00:06:13,650 --> 00:06:15,640 آپ کے ساتھ تو یہ صرف messes ذہن، مجھے لگتا ہے، آپ کو استعمال کرتے ہیں تو 151 00:06:15,640 --> 00:06:17,370 بالکل ویسی ہی متغیر. 152 00:06:17,370 --> 00:06:20,150 >> تو میں نے اس کے بجائے انہیں ایک فون کروں گا اور ب، صرف وضاحت کے لئے. 153 00:06:20,150 --> 00:06:21,840 لیکن ہم ان سب سے کہہ سکتے ہیں ہم چاہتے ہیں کچھ. 154 00:06:21,840 --> 00:06:26,280 اور میں کاپی اور چسپاں کرنے کے لئے جا رہا ہوں وہاں کی طرف سے مؤثر طریقے سے اس کوڈ 155 00:06:26,280 --> 00:06:27,170 یہاں میں نیچے. 156 00:06:27,170 --> 00:06:29,110 میں نے صرف یہ کام کرتا دیکھا کہ وجہ سے. 157 00:06:29,110 --> 00:06:30,790 تو یہ بہت اچھی حالت میں ہے. 158 00:06:30,790 --> 00:06:37,390 اور میں، میری X کرنے کے لئے میری X تبدیل کر دیں گے ایک کے لئے، ب اور ب کرنے کے لئے میری Y کرنے کے لئے میری Y. 159 00:06:37,390 --> 00:06:39,130 >> تو دوسرے الفاظ میں، عین مطابق ایک ہی منطق. 160 00:06:39,130 --> 00:06:40,850 جیس نے عین مطابق ایک ہی بات. 161 00:06:40,850 --> 00:06:44,350 اور پھر میں نے کیا کرنا ہے ایک بات یہاں، کورس کے، اب یہ پکارتے ہے 162 00:06:44,350 --> 00:06:45,990 تقریب میں، یا اس تقریب کو فون کریں. 163 00:06:45,990 --> 00:06:50,430 تو میں نے دونوں کے ساتھ اس تقریب میں فون کروں گا نیوجیان، x اور y کیا، اور ہٹ کو محفوظ کریں. 164 00:06:50,430 --> 00:06:52,300 >> ٹھیک ہے، تو بنیادی طور پر ایک ہی بات. 165 00:06:52,300 --> 00:06:55,570 اصل میں، میں شاید پروگرام بنایا ہے کی طرف سے بیکار میں پیچیدہ 166 00:06:55,570 --> 00:07:00,820 صرف لے جا رہا ہے کہ ایک تقریب لکھنا کوڈ کے کچھ چھ لائنوں جبکہ میں 167 00:07:00,820 --> 00:07:02,970 پہلے نافذ کیا تھا یہ صرف تین میں. 168 00:07:02,970 --> 00:07:06,230 >> تو مجھے اب آگے بڑھو اور ریمیک دو یہ، کوئی تبادلہ کرتے ہیں. 169 00:07:06,230 --> 00:07:07,920 ٹھیک ہے، میں یہاں مصیبت میں. 170 00:07:07,920 --> 00:07:11,290 یہ ایک غلطی ہونی چاہیے آپ کو ہو سکتا ہے آپ کے طور پر تیزی سے عام طور پر دیکھتے ہیں 171 00:07:11,290 --> 00:07:12,380 پروگراموں زیادہ پیچیدہ ہو جاتے ہیں. 172 00:07:12,380 --> 00:07:13,470 لیکن ایک آسان حل ہے. 173 00:07:13,470 --> 00:07:15,650 مجھے یہاں واپس سکرال ہیں. 174 00:07:15,650 --> 00:07:18,190 >> اور میں دیکھ رہا ہوں پہلے غلطی کیا ہے؟ 175 00:07:18,190 --> 00:07:19,520 ضمنی اعلان. 176 00:07:19,520 --> 00:07:21,466 جو کہ عام طور پر کیا اس بات کی نشاندہی کرتا ہے؟ 177 00:07:21,466 --> 00:07:22,830 اوہ، میں پروٹوٹائپ بھول گیا. 178 00:07:22,830 --> 00:07:26,900 میں سنکلک سکھانے کے لئے بھول گیا تھا کہ تبادلہ موجود جا رہا ہے اگرچہ وہ 179 00:07:26,900 --> 00:07:28,920 بہت شروع میں کوئی وجود نہیں پروگرام کی. 180 00:07:28,920 --> 00:07:35,780 تو میں صرف، صفر، سویپ کہنے جا رہا ہوں INT، ایک INT ب، نیم وقفہ. 181 00:07:35,780 --> 00:07:37,280 >> تو میں نے اسے reimplement نہیں جا رہا ہوں. 182 00:07:37,280 --> 00:07:39,140 لیکن اب یہ کیا یہاں نیچے ہے سے میل کھاتا ہے. 183 00:07:39,140 --> 00:07:42,530 اور نوٹس، ایک نیم وقفہ کی غیر موجودگی یہاں، جو ضروری نہیں ہے جب 184 00:07:42,530 --> 00:07:43,200 پر عمل درآمد. 185 00:07:43,200 --> 00:07:46,010 >> تو مجھے یہ ریمیک دو، کوئی تبادلہ کرتے ہیں. 186 00:07:46,010 --> 00:07:46,910 بہت بہتر شکل. 187 00:07:46,910 --> 00:07:48,130 کوئی سویپ چلائیں. 188 00:07:48,130 --> 00:07:48,740 اور یہ لات ہے. 189 00:07:48,740 --> 00:07:51,650 ہم پیر کو کہاں تھے اب ہم واپس آ گئے ہیں جہاں چیز تبادلہ نہیں کیا. 190 00:07:51,650 --> 00:07:55,410 >> اور بدیہی وضاحت کیا ہے کیوں کے لئے اس کیس ہے؟ 191 00:07:55,410 --> 00:07:56,380 جی ہاں؟ 192 00:07:56,380 --> 00:07:57,630 >> طالب: [اشراوی]. 193 00:07:57,630 --> 00:08:04,140 194 00:08:04,140 --> 00:08:05,230 >> DAVID MALAN: بالکل درست. 195 00:08:05,230 --> 00:08:07,330 تو a اور b X اور Y کی کاپیاں ہیں. 196 00:08:07,330 --> 00:08:10,680 اور حقیقت میں کسی بھی وقت آپ کو رہا ہوں ابھی تک ہے کہ ایک تقریب بلا 197 00:08:10,680 --> 00:08:12,540 ints طرح متغیرات میں گزر جاتا ہے - 198 00:08:12,540 --> 00:08:14,470 سویپ یہاں انتظار کر رہا ہے جیسا کہ - 199 00:08:14,470 --> 00:08:16,270 آپ لوگ کاپیاں میں گزر گیا ہے. 200 00:08:16,270 --> 00:08:19,150 >> یہ تھوڑا سا لے جاتا ہے کا مطلب ہے کہ اب وہ کے لئے وقت کی ایک تقسیم دوسری، 201 00:08:19,150 --> 00:08:23,270 ایک سے بٹس کاپی کرنے کے لئے کمپیوٹر کسی دوسرے کی بٹس میں متغیر. 202 00:08:23,270 --> 00:08:24,610 لیکن یہ اتنا بڑا سودا نہیں ہے. 203 00:08:24,610 --> 00:08:25,920 لیکن وہ باوجود ایک کاپی ہو. 204 00:08:25,920 --> 00:08:30,020 >> اور اس طرح اب، سویپ کے تناظر میں، میں نے کامیابی کے ساتھ حقیقت یہ ہے کہ میں ہوں 205 00:08:30,020 --> 00:08:31,180 A اور B کو تبدیل کرنے. 206 00:08:31,180 --> 00:08:33,000 اصل میں، ایک فوری کرتے ہیں وویک چیک کریں. 207 00:08:33,000 --> 00:08:36,830 پرنٹ چ ایک میں نئی ​​لائن فیصد ہے. 208 00:08:36,830 --> 00:08:38,770 اور ایک میں لشکر طیبہ کی پلگ. 209 00:08:38,770 --> 00:08:41,830 اب ب کے ساتھ ایک ہی بات کرتے ہیں. 210 00:08:41,830 --> 00:08:43,640 اور یہاں ایک ہی بات کرتے ہیں. 211 00:08:43,640 --> 00:08:47,260 >> اور اب، مجھے وہ اسی لائنز کی کاپی کرتے ہیں پھر تقریب کے نچلے حصے میں 212 00:08:47,260 --> 00:08:51,250 دلچسپ میرے تین لائنوں کے بعد پھانسی، اور کر سکتا تھا 213 00:08:51,250 --> 00:08:53,270 ایک بار پھر ایک اور ب پرنٹ. 214 00:08:53,270 --> 00:08:56,030 کی اس بنا تو اب دو، کوئی تبادلہ کرتے ہیں. 215 00:08:56,030 --> 00:08:58,430 مجھے ٹرمنل ونڈو ایک کرنے دو تھوڑا طویل ہے، ہم دیکھ سکتے ہیں تاکہ 216 00:08:58,430 --> 00:08:59,520 ایک بار میں اس کے زیادہ. 217 00:08:59,520 --> 00:09:00,860 >> اور کوئی سویپ چلائیں. 218 00:09:00,860 --> 00:09:04,000 X 1 ہے، Y 2 ہے. ایک 1 ہے، بی 2 ہے. 219 00:09:04,000 --> 00:09:06,070 اور پھر، ایک 2 ہے، ب 1 ہے. 220 00:09:06,070 --> 00:09:09,390 تو یہ صرف جیس کی طرح کام کر رہا ہے یہاں اندر سویپ کے کیا. 221 00:09:09,390 --> 00:09:13,090 لیکن کورس کے، یہ کوئی اثر نہیں رہا ہے اہم میں متغیر پر. 222 00:09:13,090 --> 00:09:15,360 >> تو ہم نے ایک ٹرک کو دیکھا جس کے تحت ہم ٹھیک ہے، یہ طے کر سکتا ہے؟ 223 00:09:15,360 --> 00:09:19,560 اگر آپ کو یہ scoping کا سامنا کر رہے ہیں تو مسئلہ، آپ کر سکتے صرف پنٹ اور ایکس بنانا 224 00:09:19,560 --> 00:09:22,400 اور y کس قسم کی بجائے متغیر؟ 225 00:09:22,400 --> 00:09:23,390 >> آپ کو ان کے عالمی سطح پر کر سکتے ہیں. 226 00:09:23,390 --> 00:09:27,560 فائل کے بہت سے اوپر دیئے گئے ان کے رکھو ہم نے بھی 15 کے کھیل میں، کے طور پر کیا تھا. 227 00:09:27,560 --> 00:09:28,890 ہم ایک عالمی متغیر استعمال کرتے ہیں. 228 00:09:28,890 --> 00:09:32,420 لیکن کھیل ایک 15 کے تناظر میں، یہ ایک عالمی کرنا مناسب ہے 229 00:09:32,420 --> 00:09:37,170 ، بورڈ کی نمائندگی کرنے والے متغیر کی وجہ 15.c کی مکمل ہے 230 00:09:37,170 --> 00:09:38,650 اس کھیل کو لاگو کرنے کے بارے میں. 231 00:09:38,650 --> 00:09:41,470 یہ فائل کرنے کے لئے موجود ہے. 232 00:09:41,470 --> 00:09:44,170 >> لیکن یہاں اس معاملے میں، میں ہوں ایک تقریب سویپ بلا. 233 00:09:44,170 --> 00:09:45,380 میں نے دو متغیر تبادلہ کرنا چاہتے ہیں. 234 00:09:45,380 --> 00:09:48,950 اور یہ میلا محسوس کرنے کے لئے شروع کر دینا چاہئے اگر ہمارے سب کا حل 235 00:09:48,950 --> 00:09:51,300 ہم گنجائش میں چلاتے ہیں جب مسائل مسائل کا عالمی سطح پر بنا ہے. 236 00:09:51,300 --> 00:09:54,730 بہت جلد ہمارے پروگرام ہے کیونکہ کافی گندگی بننے جا. 237 00:09:54,730 --> 00:09:57,760 اور ہم بہت کفایت کیا 15.c. میں ایک نتیجہ کے طور پر 238 00:09:57,760 --> 00:10:00,470 >> ایک ہے لیکن یہ باہر کر دیتا ہے مکمل طور پر بہتر طریقہ. 239 00:10:00,470 --> 00:10:05,600 مجھے اصل میں واپس جانا اور حذف کرتے ہیں بس اس کوڈ کو آسان بنانے، F کی پرنٹ. 240 00:10:05,600 --> 00:10:09,160 اور مجھ سے تجویز کرتے ہیں کہ اس، بے شک، خراب ہے. 241 00:10:09,160 --> 00:10:15,990 لیکن میں نے اس کے بجائے کچھ ستارے میں شامل تو اور ستاروں، میں بجائے اس کے تبدیل کر سکتے ہیں 242 00:10:15,990 --> 00:10:18,670 ہے کہ ایک میں تقریب اصل میں آپریشنل. 243 00:10:18,670 --> 00:10:25,020 >> تو مجھے یہاں واپس جا کر کہہ تسلیم کرتے ہیں ستارے، ہمیشہ مشکل ہے 244 00:10:25,020 --> 00:10:26,170 تو میں نے ستاروں کو کہیں گے. 245 00:10:26,170 --> 00:10:27,660 میں صرف اس ایک تک fess گے. 246 00:10:27,660 --> 00:10:28,190 ٹھیک ہے. 247 00:10:28,190 --> 00:10:30,190 اور اب، کیا میں جا رہا ہوں اس کی بجائے ایسا کرنے کی؟ 248 00:10:30,190 --> 00:10:34,130 >> سب سے پہلے تو، میں وضاحت کرنے کے لئے جا رہا ہوں اس کی بجائے میں ایک INT گزرنے کے 249 00:10:34,130 --> 00:10:37,980 سویپ تقریب، میں بجائے ہوں INT اسٹار کا کہنا ہے کہ جانے کا. 250 00:10:37,980 --> 00:10:39,170 اب، اسٹار کیا اس بات کی نشاندہی کرتا ہے؟ 251 00:10:39,170 --> 00:10:41,970 یہ کہ ایک پوائنٹر کے اس تصور ہے Binky، claymation کردار تھا، 252 00:10:41,970 --> 00:10:43,465 پہلے ایک لمحے کا حوالہ دیتے ہوئے. 253 00:10:43,465 --> 00:10:47,610 >> ہم INT ستارہ، کے معنی کا کہنا ہے کہ اگر ایسا ہے تو یہ اب ایک بننے کے لئے نہیں جا رہا ہے ہے کہ 254 00:10:47,610 --> 00:10:49,110 اس کی قیمت کی طرف سے میں منظور. 255 00:10:49,110 --> 00:10:50,350 یہ رکنیت کاپی کرنے کے لئے نہیں جا رہا ہے 256 00:10:50,350 --> 00:10:54,700 بلکہ، ایک کا پتہ ہے رکنیت منظور کیا جا رہا 257 00:10:54,700 --> 00:10:57,840 >> تو آپ کے کمپیوٹر کے اس کے اندر یاد دوسری صورت میں، میموری کے پورے گچرچھی ہے 258 00:10:57,840 --> 00:10:58,760 ریم کے طور پر جانا جاتا ہے. 259 00:10:58,760 --> 00:11:00,520 اور یہ کہ رام صرف ایک ہے بائٹس کی پورے گچرچھی. 260 00:11:00,520 --> 00:11:03,320 اپنے میک یا اپنے کمپیوٹر کی ہے اگر ایسا ہے تو دو گیگا بائٹ، آپ 2 ہے 261 00:11:03,320 --> 00:11:05,760 میموری ارب بائٹس. 262 00:11:05,760 --> 00:11:08,440 >> اب صرف فرض کرتے ہیں کہ صرف چیزوں کو اچھا اور منظم رکھنے کے لئے، ہم 263 00:11:08,440 --> 00:11:09,450 ایک ایڈریس تفویض - 264 00:11:09,450 --> 00:11:10,170 ایک بڑی تعداد - 265 00:11:10,170 --> 00:11:12,270 آپ کے کمپیوٹر میں رام کے ہر بائٹ کرنے کے لئے. 266 00:11:12,270 --> 00:11:15,410 ان 2 کے پہلے بائٹ ارب تعداد صفر ہے. 267 00:11:15,410 --> 00:11:18,572 اگلے ایک بائٹ نمبر ایک، نمبر ہے اپ پر دو، پورے راستے، ڈاٹ ڈاٹ 268 00:11:18,572 --> 00:11:20,530 تقریبا 2 ارب ڈاٹ،. 269 00:11:20,530 --> 00:11:23,640 >> تو کیا تم بائٹس کی تعداد میں کر سکتے ہیں آپ کے کمپیوٹر میں میموری کی. 270 00:11:23,640 --> 00:11:26,460 تو یہ ہے کہ فرض کی دو کیا ہم ایک ایڈریس کی طرف سے مطلب ہے. 271 00:11:26,460 --> 00:11:31,360 تو میں کیا ہو رہا ہے INT ستارہ ایک، دیکھ کر اب تبادلہ میں منظور کیا جانا ہے 272 00:11:31,360 --> 00:11:32,830 ایک کا پتہ. 273 00:11:32,830 --> 00:11:37,150 نہیں اس کی قیمت، لیکن جو کچھ بھی اس کی پوسٹل ایڈریس، تو بات کرنے ہے - 274 00:11:37,150 --> 00:11:38,810 RAM میں اس کی جگہ. 275 00:11:38,810 --> 00:11:41,250 >> اور اسی طرح ب کے لئے، میں جا رہا ہوں ایک ہی بات کہنا. 276 00:11:41,250 --> 00:11:42,720 INT، ستارہ، ب. 277 00:11:42,720 --> 00:11:46,350 ایک طرف، تکنیکی طور پر سٹار کے طور پر دیگر مقامات پر ہو سکتی ہے. 278 00:11:46,350 --> 00:11:50,140 لیکن ہم ہونے کی وجہ سے سٹار پر معیاری گے ڈیٹا کی قسم کا حق اگلے. 279 00:11:50,140 --> 00:11:54,080 >> تو دستخط کا مطلب اب تبادلہ، مجھے دو ایک INT کا پتہ، اور کال 280 00:11:54,080 --> 00:11:55,400 اس ایڈریس کے لیے. 281 00:11:55,400 --> 00:11:58,690 اور مجھ سے ایک کے ایک اور پتہ دے INT اور اس ایڈریس ب کہتے ہیں. 282 00:11:58,690 --> 00:12:01,120 >> لیکن اب یہاں اپنے کوڈ کو تبدیل کرنے کی ہے. 283 00:12:01,120 --> 00:12:03,470 کیونکہ میں INT TEMP کا اعلان تو - 284 00:12:03,470 --> 00:12:05,580 کس قسم کا INT اب بھی ہے - 285 00:12:05,580 --> 00:12:08,700 لیکن میں، یہ ایک میں جمع قیمت کس طرح؟ 286 00:12:08,700 --> 00:12:12,870 واضح رہنا، میں کے ساتھ ایک ایک ڈال رہا ہوں ابھی تحریری طور پر کوڈ؟ 287 00:12:12,870 --> 00:12:14,360 >> میں ایک محل میں ڈال رہا ہوں. 288 00:12:14,360 --> 00:12:16,500 لیکن مجھے پرواہ نہیں کرتے محل وقوع اب، ہے نا؟ 289 00:12:16,500 --> 00:12:21,940 TEMP صرف جیس 'تیسری کپ موجود ہے موجود، کیا مقصد کے لئے؟ 290 00:12:21,940 --> 00:12:23,090 قدر ذخیرہ کرنے کے لئے. 291 00:12:23,090 --> 00:12:24,830 دودھ یا سنتری کا رس. 292 00:12:24,830 --> 00:12:28,520 اصل کا پتہ ذخیرہ کرنے کے لئے نہیں ان چیزوں میں سے کسی، جس کی وجہ سے محسوس ہوتا ہے 293 00:12:28,520 --> 00:12:31,200 یہ اصل میں بہت کم nonsensical ویسے بھی دنیا کے سیاق و سباق. 294 00:12:31,200 --> 00:12:34,990 >> تو واقعی میں، کیا میں TEMP میں ڈال کرنا چاہتے ہیں ایک کا پتہ، لیکن نہیں ہے 295 00:12:34,990 --> 00:12:36,180 ایک کے مندرجات. 296 00:12:36,180 --> 00:12:41,930 ایک 123 کی طرح ایک نمبر ہے اگر ہاں، تو ہے اس میموری کے 123rd بائٹ ایک منصفانہ 297 00:12:41,930 --> 00:12:45,090 ، قابض ہونا ہوتا ہے اس قدر میں ایک قابض ہونا ہوتا ہے. 298 00:12:45,090 --> 00:12:49,040 >> ، میں نے اس کا پتہ کرنے کے لئے جانا چاہتے ہیں تو میں ستارہ ایک کا کہنا ہے کہ کرنے کی ضرورت ہے. 299 00:12:49,040 --> 00:12:52,610 اسی طرح، تو میں کیا تبدیل کرنے کے لئے تھے ایڈریس میں، میں تبدیل 300 00:12:52,610 --> 00:12:53,570 یہ شروع کرنے کے لئے. 301 00:12:53,570 --> 00:12:58,185 میں میں کیا ہے میں جمع کرنا چاہتے ہیں تو مقام پر کیا ہے کے ساتھ جگہ 302 00:12:58,185 --> 00:13:02,180 ب میں، ستارہ ب ستارہ. 303 00:13:02,180 --> 00:13:05,340 >> یہ کافی نہیں ہے مختصر میں، یہاں تک کہ اگر ابھی میں ڈوب - اور مجھے توقع نہیں کریں گے 304 00:13:05,340 --> 00:13:06,560 یہ اتنی جلدی گی - 305 00:13:06,560 --> 00:13:11,100 میں کر رہا ہوں تمام prefixing ہے کہ یہ میرے متغیر پر ستاروں، 306 00:13:11,100 --> 00:13:13,350 کہاوت اقدار پر قبضہ نہیں ہے. 307 00:13:13,350 --> 00:13:14,520 اقدار کو تبدیل نہ کریں. 308 00:13:14,520 --> 00:13:17,600 بلکہ، ان کے پتوں کے لئے جانا اور قیمت حاصل کریں. 309 00:13:17,600 --> 00:13:21,430 اس ایڈریس اور تبدیلی کو دیکھیے وہاں قیمت. 310 00:13:21,430 --> 00:13:25,500 >> تو اب، مجھے سب سے اوپر پر واپس سکرال دو صرف کرنے کے لئے، یہاں اس لائن کو ٹھیک کرنے 311 00:13:25,500 --> 00:13:27,690 ملنے کے لئے پروٹوٹائپ کو تبدیل. 312 00:13:27,690 --> 00:13:30,280 لیکن اب میں ایک اور چیز کرنے کی ضرورت ہے. 313 00:13:30,280 --> 00:13:35,500 Intuitively، میں قسم کے تبدیل کیا ہے تو دلائل کی ہے کہ تبادلہ کی توقع ہے، 314 00:13:35,500 --> 00:13:37,245 مجھے اور کیا کرنے کی ضرورت ہے اپنے کوڈ میں تبدیل؟ 315 00:13:37,245 --> 00:13:39,750 316 00:13:39,750 --> 00:13:40,840 >> میں تبادلہ فون جب. 317 00:13:40,840 --> 00:13:43,340 اب، کیا ہوں کیونکہ میں اب بھی تبادلہ کرنے کے لئے گزر رہا؟ 318 00:13:43,340 --> 00:13:47,450 قدر X اور Y کی قدر، یا دودھ اور سنتری کا رس. 319 00:13:47,450 --> 00:13:48,510 لیکن میں ایسا نہیں کرنا چاہتا. 320 00:13:48,510 --> 00:13:51,060 میں نے اس کے بجائے کیا میں منتقل کرنا چاہتے ہیں؟ 321 00:13:51,060 --> 00:13:53,050 X کے محل وقوع اور Y کے محل وقوع. 322 00:13:53,050 --> 00:13:55,300 ان کے ای میل کے پتے، کیا ہیں تو بات کرنے کے لئے. 323 00:13:55,300 --> 00:13:57,600 >> تو ایسا کرنے کے لئے، ایک ایمپرسینڈ ہے. 324 00:13:57,600 --> 00:13:59,260 پتے کی طرح آواز کے ایمپرسینڈ قسم. 325 00:13:59,260 --> 00:14:03,240 تو (ن)، ایمپرسینڈ، پتہ کی ایکس، اور y کا ایڈریس. 326 00:14:03,240 --> 00:14:06,790 تو یہ ہم استعمال کرتے ہیں کہ جان بوجھ کر ہے ampersands تقریب بلا جب، 327 00:14:06,790 --> 00:14:10,230 اور ستارے قرار دیا اور جب جب تقریب کو لاگو کرنے کے. 328 00:14:10,230 --> 00:14:14,220 >> کے طور پر اور صرف ایمپرسینڈ کے بارے میں سوچنا آپریٹر کا پتہ، اور کے طور پر ستارہ 329 00:14:14,220 --> 00:14:15,490 آپریٹر وہاں جانا - 330 00:14:15,490 --> 00:14:18,640 یا، زیادہ مناسب طریقے سے، dereference آپریٹر. 331 00:14:18,640 --> 00:14:23,480 اس لیے کہ صرف الفاظ کی ایک پوری بہت ہے اب، امید ہے کہ، تبادلہ جا رہی ہے کا کہنا ہے کہ 332 00:14:23,480 --> 00:14:24,440 درست ہو. 333 00:14:24,440 --> 00:14:26,550 >> مجھ سے آگے بڑھو اور بنا دو - 334 00:14:26,550 --> 00:14:30,940 کہیں ایسا نہ ہو، کی اصل فائل کا نام تبدیل کرتے ہیں اس پروگرام کو اب بھی کوئی تبدیل بلایا جائے. 335 00:14:30,940 --> 00:14:33,240 میرے خیال میں ہمیں اب یہ swap.c فون کروں گا دعوی ہے کہ. 336 00:14:33,240 --> 00:14:35,670 تو تبادلہ، بناتے ہیں. 337 00:14:35,670 --> 00:14:37,520 ڈاٹ، سلیش، تبادلہ. 338 00:14:37,520 --> 00:14:40,210 >> اور اب یقینا، X 1 ہے، Y 2 ہے. 339 00:14:40,210 --> 00:14:44,040 اور پھر، X 2 ہے، Y سے ایک ہے. 340 00:14:44,040 --> 00:14:46,500 ویسے ہم یہ نہیں کر سکتے تو دیکھتے ہیں کیا ہے کے طور پر مختلف طریقے سے تھوڑا سا 341 00:14:46,500 --> 00:14:47,180 یہاں کیا ہو رہا. 342 00:14:47,180 --> 00:14:51,250 سب سے پہلے، مجھے ہمارے پر میں زوم دو یہاں سکرین ڈرائنگ. 343 00:14:51,250 --> 00:14:54,160 اور مجھے ایک لمحے کے لئے تجویز کرتے ہیں - اور میں یہاں اپنی طرف متوجہ جب بھی منعکس کیا جائے گا 344 00:14:54,160 --> 00:14:58,660 وہاں اب - مجھے تجویز کرتے ہیں کہ یہاں میموری کے پورے گچرچھی ہے، یا 345 00:14:58,660 --> 00:15:00,540 رام، میرے کمپیوٹر کے اندر. 346 00:15:00,540 --> 00:15:04,140 >> اور یہ، کاٹنے تعداد ہو جائے گا ، کی کا کہنا ہے کہ 1 ہیں. 347 00:15:04,140 --> 00:15:05,720 یہ بائٹس کی تعداد 2 ہو جائے گا. 348 00:15:05,720 --> 00:15:08,220 اور میں نے ایک پورے گچرچھی کرتے ہیں، اور ہوں گے پھر ڈاٹ ڈاٹ بندیاں کے ایک گروپ 349 00:15:08,220 --> 00:15:10,880 2 ارب ہے ظاہر ہوتا ہے کہ ان چیزوں میں سے. 350 00:15:10,880 --> 00:15:13,520 4، 5، اور تو آگے. 351 00:15:13,520 --> 00:15:17,055 >> تو پہلے پانچ رائج ہیں میرے کمپیوٹر کی میموری کی. 352 00:15:17,055 --> 00:15:17,560 ٹھیک ہے؟ 353 00:15:17,560 --> 00:15:19,060 2 ارب سے باہر بہت کم. 354 00:15:19,060 --> 00:15:21,120 لیکن اب میں تجویز کرنے جا رہا ہوں مندرجہ ذیل. 355 00:15:21,120 --> 00:15:27,490 میں نے ایکس جا رہا ہے کہ تجویز کرنے جا رہا ہوں نمبر 1 سٹور، اور y جا رہا ہے 356 00:15:27,490 --> 00:15:29,690 نمبر 2 ذخیرہ کرنے کے لئے. 357 00:15:29,690 --> 00:15:35,000 اور مجھے اب آگے بڑھو اور کی نمائندگی کرتے ہیں ان اقدار کے طور پر مندرجہ ذیل ہے. 358 00:15:35,000 --> 00:15:41,510 >> مندرجہ ذیل ایسا چلو. 359 00:15:41,510 --> 00:15:42,870 مجھے صرف ایک دوسرے کو دے دو. 360 00:15:42,870 --> 00:15:44,150 ایک سیکینڈ. 361 00:15:44,150 --> 00:15:45,680 ٹھیک ہے. 362 00:15:45,680 --> 00:15:47,560 میں نے یہ ایک چھوٹا سا بنانا چاہتے ہیں - 363 00:15:47,560 --> 00:15:50,440 پھر سے یہ کرتے ہیں. 364 00:15:50,440 --> 00:15:53,250 ورنہ میں جا اور استعمال کر رہا ہوں اسی نمبرز، غیر ارادی طور پر، 365 00:15:53,250 --> 00:15:54,230 کئی بار. 366 00:15:54,230 --> 00:15:57,320 >> تو صرف اس لئے ہم مختلف نمبر ہیں کے بارے میں بات کرنے کے لئے، ہم اس بائٹ فون 367 00:15:57,320 --> 00:16:03,391 نمبر 123، 124، 125، 126، اور نقطہ نقطہ نقطہ. 368 00:16:03,391 --> 00:16:08,400 میرے اور میں کرنے جا رہا ہوں کہ اب کا دعوی کرتے ہیں یہاں قیمت 1، اور قیمت 2 ڈال 369 00:16:08,400 --> 00:16:11,990 یہاں، دوسری صورت میں x اور y کیا کے طور پر جانا جاتا ہے. 370 00:16:11,990 --> 00:16:15,300 تو یہ صرف اس لئے ایسا ہوتا ہے اس ایکس ہے، یہ y کیا ہے. 371 00:16:15,300 --> 00:16:18,180 >> اور صرف کچھ بے ترتیب موقع کی طرف سے، کمپیوٹر، آپریٹنگ سسٹم، 372 00:16:18,180 --> 00:16:21,890 جگہ پر X ڈال دیا ہوا نمبر 123. 373 00:16:21,890 --> 00:16:25,590 اور y محل 124 میں ختم ہوا - 374 00:16:25,590 --> 00:16:26,330 اوہ. 375 00:16:26,330 --> 00:16:28,700 میں نے یہ طے کرنا چاہیے تھا. 376 00:16:28,700 --> 00:16:34,040 آدمی اوہ، میں واقعی ایسا کرنا چاہتے ہیں؟ 377 00:16:34,040 --> 00:16:37,340 جی ہاں، میں یہ اور ٹھیک کرنے کے لئے چاہتے ہیں یہ آج کے بارے میں مناسب ب. 378 00:16:37,340 --> 00:16:39,950 افسوس ہے، اس میں نئے. 379 00:16:39,950 --> 00:16:45,020 >> 127، 131، اور مجھے یہ ہو نہیں کرنا چاہتے تھے پیچیدہ، لیکن میں کیوں تبدیل کر دیا 380 00:16:45,020 --> 00:16:46,340 وہاں کی تعداد؟ 381 00:16:46,340 --> 00:16:48,360 میں ints کرنا چاہتے ہیں کیونکہ اصل میں چار رائج ہو. 382 00:16:48,360 --> 00:16:49,810 تو اس کے بارے میں سپر مقعد رہنے دو 383 00:16:49,810 --> 00:16:53,800 اگر 1 سے خطاب کیا ہو تو وہ 123، 2 ایڈریس پر بننے جا رہی ہے 384 00:16:53,800 --> 00:16:55,730 یہ صرف 4 byes دور ہے 127 کی وجہ سے. 385 00:16:55,730 --> 00:16:56,210 بس اتنا ہی. 386 00:16:56,210 --> 00:16:58,640 اور ہم سب کے بارے میں بھول جاؤ گے دنیا میں دوسرے پتے. 387 00:16:58,640 --> 00:17:03,320 >> تو X، محل وقوع کی 123 میں ہے Y محل 127 پر ہے. 388 00:17:03,320 --> 00:17:05,770 اور اب، میں اصل میں کیا کرنا ہے کرنا چاہتے ہیں؟ 389 00:17:05,770 --> 00:17:10,099 اب میں تبدیل کال کرتے ہیں، تو کیا ہے اصل میں ہو رہا ہے؟ 390 00:17:10,099 --> 00:17:14,920 ٹھیک ہے، میں تبادلہ فون تو میں میں گزر رہا ہوں ایکس کا پتہ اور y کا ایڈریس. 391 00:17:14,920 --> 00:17:18,540 لہذا مثال کے طور پر، اگر ان دو ٹکڑے کاغذ کے اب دو کی نمائندگی کرتے ہیں 392 00:17:18,540 --> 00:17:23,510 دلائل a اور b کا تبادلہ کرنے کے لئے، میں کیا ہوں ، ان میں سے سب سے پہلے پر لکھنے کے لئے جا 393 00:17:23,510 --> 00:17:27,720 میں نے ایک کے طور پر حوالہ دیتے ہیں فون کرنے جا رہا ہوں جس؟ 394 00:17:27,720 --> 00:17:30,610 >> بالکل، 123. 395 00:17:30,610 --> 00:17:31,905 تو میں نے کا دعوی ہے کہ یہ ایک ہے. 396 00:17:31,905 --> 00:17:32,955 یہ ایک پیرامیٹر ہے. 397 00:17:32,955 --> 00:17:35,856 میں وہاں میں ایکس کا ایڈریس ڈال رہا ہوں. 398 00:17:35,856 --> 00:17:38,152 >> وہ کیا ہے؟ 399 00:17:38,152 --> 00:17:40,890 >> وہ کیا ہے؟ 400 00:17:40,890 --> 00:17:41,190 >> نہیں، نہیں، 401 00:17:41,190 --> 00:17:41,720 یہ ٹھیک ہے. 402 00:17:41,720 --> 00:17:42,570 اب بھی اچھا ہے، پھر بھی اچھا ہے. 403 00:17:42,570 --> 00:17:43,530 تو یہ ایک ہے. 404 00:17:43,530 --> 00:17:46,240 اور اب کاغذ کے دوسرے ٹکڑے پر، اس ب ہونے جا رہا ہے، اور میں کیا ہوں 405 00:17:46,240 --> 00:17:49,010 پر لکھنے جا رہا کاغذ کے اس ٹکڑے؟ 406 00:17:49,010 --> 00:17:50,080 127. 407 00:17:50,080 --> 00:17:53,720 >> تو اس کے بعد سے تبدیل کر دیا گیا ہے کہ صرف ایک ہی چیز اس کہانی کا ہمارے گزشتہ کہہ، ہے 408 00:17:53,720 --> 00:17:58,590 بلکہ 1 لفظی سے زیادہ اور 2، میں ہوں 123 اور 127 میں منتقل کرنے کی جا رہی. 409 00:17:58,590 --> 00:18:02,130 اور میں اب ان کے اندر ڈال کرنے کے لئے جا رہا ہوں اس باکس میں سے، ٹھیک ہے؟ 410 00:18:02,130 --> 00:18:04,640 تاکہ بلیک باکس اب کی نمائندگی کرتا ہے سویپ تقریب. 411 00:18:04,640 --> 00:18:07,230 >> دریں اثنا، کی اب کوئی دو سویپ تقریب پر عملدرآمد. 412 00:18:07,230 --> 00:18:09,090 یہاں کسی کو کیا رضاکارانہ کام کرنا چاہتے ہیں؟ 413 00:18:09,090 --> 00:18:09,560 اپ چلو. 414 00:18:09,560 --> 00:18:11,080 آپ کا نام کیا ہے؟ 415 00:18:11,080 --> 00:18:11,460 چارلی. 416 00:18:11,460 --> 00:18:12,080 ٹھیک ہے، چارلی. 417 00:18:12,080 --> 00:18:14,810 اپ چلو. 418 00:18:14,810 --> 00:18:17,310 >> تو چارلی کھیلنے کے لئے جا رہی ہے ہمارے بلیک باکس کا کردار. 419 00:18:17,310 --> 00:18:21,460 میں تم سے کرنا چاہوں گا کیا اور چارلی، اب طرح سویپ کو لاگو کیا جاتا ہے 420 00:18:21,460 --> 00:18:25,320 کہ ان دونوں کے پتوں دیا، آپ اصل میں جا رہے تھے 421 00:18:25,320 --> 00:18:26,330 اقدار کو تبدیل کرنے کے لئے. 422 00:18:26,330 --> 00:18:28,290 اور میں آپ کے کان میں سرگوشی گے یہاں ٹی وی کو چلانے کے لئے کس طرح. 423 00:18:28,290 --> 00:18:29,930 >> لہذا آگے بڑھیں، اور آپ بلیک باکس ہیں. 424 00:18:29,930 --> 00:18:30,920 وہاں تک پہنچنے کے. 425 00:18:30,920 --> 00:18:34,054 تم نے کیا اقدار ایک کے لئے دیکھ کر، اور ہے آپ ب کے لیے کیا اقدار کو دیکھتے ہیں؟ 426 00:18:34,054 --> 00:18:36,740 >> چارلی: ایک 123 ہے اور ب 127 ہے. 427 00:18:36,740 --> 00:18:37,530 >> DAVID MALAN: ٹھیک ہے، بالکل. 428 00:18:37,530 --> 00:18:38,940 صرف ایک لمحے کے لئے وہاں اب روک دیتے ہیں. 429 00:18:38,940 --> 00:18:41,680 اب تم کیا کرنے جا رہے ہیں سب سے پہلی چیز کوڈ کے مطابق - جو 430 00:18:41,680 --> 00:18:43,220 اب میں سکرین پر ھیںچو گے - 431 00:18:43,220 --> 00:18:46,750 تھوڑا مختص ہونے جا رہا ہے میموری کا سا TEMP ملاقات کی. 432 00:18:46,750 --> 00:18:48,850 تو میں نے آگے جانے والے اور رہا ہوں آپ اس میموری دے. 433 00:18:48,850 --> 00:18:52,210 >> تو یہ ایک تہائی متغیر ہونے جا رہا ہے آپ کے لئے قابل رسائی ہے 434 00:18:52,210 --> 00:18:54,080 آپ TEMP ملاقات کی. 435 00:18:54,080 --> 00:18:57,120 اور کیا آپ کو لکھنے کے لئے جا رہے ہیں کاغذ کے ٹکڑے پر TEMP؟ 436 00:18:57,120 --> 00:19:02,524 437 00:19:02,524 --> 00:19:03,470 >> چارلی: نوٹیفائر، ہے نا؟ 438 00:19:03,470 --> 00:19:04,790 >> DAVID MALAN: ٹھیک ہے، اچھی طرح سے نہیں اشارہ ضروری. 439 00:19:04,790 --> 00:19:07,230 تو میں نے اس کوڈ کی لائن دائیں ہاتھ کی طرف پر روشنی ڈالی، 440 00:19:07,230 --> 00:19:07,900 وہاں شروع کرتے ہیں. 441 00:19:07,900 --> 00:19:08,890 یہ ستارہ ایک کہتے ہیں. 442 00:19:08,890 --> 00:19:11,670 لہذا فی الحال محفوظ ہے نمبر 123. 443 00:19:11,670 --> 00:19:16,660 اور صرف intuitively، کیا ستارہ 123 کا مطلب کیا؟ 444 00:19:16,660 --> 00:19:21,630 >> لیکن خاص طور پر، ایک ہے تو 123، ایک ستارہ کا مطلب کیا ہے؟ 445 00:19:21,630 --> 00:19:22,560 ایک کی قیمت. 446 00:19:22,560 --> 00:19:24,580 یا اس سے زیادہ اتفاق سے، وہاں جاتے ہیں. 447 00:19:24,580 --> 00:19:28,620 تو میں ایک انعقاد، مجھے اس کی تجویز کرتے ہیں آپ کے ہاتھ، آگے بڑھو اور علاج ہے کہ 448 00:19:28,620 --> 00:19:29,430 اگرچہ کے طور پر ایک نقشہ ہے. 449 00:19:29,430 --> 00:19:32,940 اور کمپیوٹر کی اپنے آپ سے زیادہ چلنا میموری اور کیا ہے ہمیں تلاش 450 00:19:32,940 --> 00:19:36,520 محل وقوع کے 123 میں. 451 00:19:36,520 --> 00:19:37,720 بالکل ٹھیک. 452 00:19:37,720 --> 00:19:41,100 >> تو ہم محل 123 دیکھ کیا، ظاہر ہے؟ 453 00:19:41,100 --> 00:19:44,240 ٹھیک ہے، تو اب تم کیا قیمت ہیں TEMP میں ڈال کرنے کے لئے جا رہے ہیں؟ 454 00:19:44,240 --> 00:19:44,750 بالکل ٹھیک. 455 00:19:44,750 --> 00:19:45,600 لہذا آگے بڑھیں اور ایسا. 456 00:19:45,600 --> 00:19:51,280 اور ٹکڑے پر نمبر 1 لکھنا فی الحال TEMP عنوان ہے کہ کاغذ. 457 00:19:51,280 --> 00:19:53,540 >> اور اب اگلا قدم ہے کہ آپ کو لاگو کرنے کے لئے جا رہے ہیں 458 00:19:53,540 --> 00:19:54,310 کیا ہونے جا رہا ہے. 459 00:19:54,310 --> 00:19:57,820 ٹھیک ہے، کے دائیں ہاتھ کی طرف پر کوڈ کی اگلی لائن اسٹار ب ہے. ب، کے 460 00:19:57,820 --> 00:19:59,260 کورس کے، ایک ایڈریس تلاش. 461 00:19:59,260 --> 00:20:02,270 یہ 127 سے خطاب. 462 00:20:02,270 --> 00:20:06,620 سٹار ب اتفاق سے خطاب کرتے ہوئے کیا، اس کا مطلب؟ 463 00:20:06,620 --> 00:20:08,700 >> اس مقام کے پاس جاؤ. 464 00:20:08,700 --> 00:20:14,988 لہذا آگے بڑھیں اور کیا ہمیں تلاش محل وقوع کے 127 میں. 465 00:20:14,988 --> 00:20:15,480 ٹھیک ہے. 466 00:20:15,480 --> 00:20:19,170 کورس کے، محل وقوع کی 127 میں، اب بھی قیمت 2 ہے. 467 00:20:19,170 --> 00:20:24,060 تو تم کیا اب کی دکان جا رہے ہیں ایک میں مقام پر جو کچھ بھی ہے؟ 468 00:20:24,060 --> 00:20:26,860 تو ستارہ ایک ذریعہ کسی جگہ پر جانا. 469 00:20:26,860 --> 00:20:29,770 ایک جگہ کیا ہے؟ 470 00:20:29,770 --> 00:20:30,430 >> بالکل ٹھیک. 471 00:20:30,430 --> 00:20:34,190 تو اب، آپ کو تبدیل کرنا چاہتے ہیں تو اس مقام پر کیا ہے - 472 00:20:34,190 --> 00:20:36,470 میں آگے بڑھو اور چلانے گے صافی یہاں ہیں. 473 00:20:36,470 --> 00:20:37,760 اور اب برش پر اسے واپس ڈال دیا. 474 00:20:37,760 --> 00:20:42,190 کیا تعداد میں آپ کو لکھنے کے لئے جا رہے ہیں اب اس خالی خانے میں؟ 475 00:20:42,190 --> 00:20:42,850 >> بالکل ٹھیک. 476 00:20:42,850 --> 00:20:46,470 تو کوڈ کے اس لائن، صاف ہو جائے کرنے کے لئے - دو مجھے چارلی کی کیا کر رہا روک اور 477 00:20:46,470 --> 00:20:51,730 یہاں باہر کی طرف اشارہ کیا وہ صرف کیا ہے محل وقوع کے 123 میں ہے کہ باکس میں لکھنا 478 00:20:51,730 --> 00:20:55,150 ب سے پہلے تھا کہ قیمت. 479 00:20:55,150 --> 00:20:59,140 اور اس طرح اب ہم بے شک نافذ کر دیا ہے کوڈ کا یہ دوسری لائن. 480 00:20:59,140 --> 00:21:01,920 >> اب بدقسمتی سے، وہاں ہے باقی اب بھی ایک ہی لائن میں. 481 00:21:01,920 --> 00:21:04,900 لفظی، TEMP میں اب کیا ہے؟ 482 00:21:04,900 --> 00:21:06,200 یہ ظاہر ہے نمبر ایک ہے. 483 00:21:06,200 --> 00:21:07,020 یہ ایک ایڈریس نہیں ہے. 484 00:21:07,020 --> 00:21:09,380 یہ قسم کے، صرف ایک نمبر ہے ہفتے میں ایک سے ایک متغیر. 485 00:21:09,380 --> 00:21:13,520 >> اور اب تمہیں سٹار ب، کا مطلب ہے کہ کہنا ہے کہ جب ایڈریس ب جانا، جن میں سے ہے 486 00:21:13,520 --> 00:21:15,090 یہاں کورس. 487 00:21:15,090 --> 00:21:16,020 تو ایک بار تم وہاں پہنچ - 488 00:21:16,020 --> 00:21:18,320 میں آگے بڑھو اور اصل کیا ہے کو ختم کریں گے وہاں - آپ اور کیا کر رہے ہیں 489 00:21:18,320 --> 00:21:20,820 محل وقوع کے 127 سے کم اب تو لکھنے کے لئے جا رہے ہیں؟ 490 00:21:20,820 --> 00:21:22,010 >> چارلی: TEMP، ایک ہے. 491 00:21:22,010 --> 00:21:23,430 >> DAVID MALAN: TEMP، ایک ہے. 492 00:21:23,430 --> 00:21:25,670 اور آخر میں TEMP کیا ہوتا ہے؟ 493 00:21:25,670 --> 00:21:26,600 ٹھیک ہے، ہم واقعی نہیں جانتے. 494 00:21:26,600 --> 00:21:27,420 ہم واقعی پرواہ نہیں ہے. 495 00:21:27,420 --> 00:21:31,090 ہم ایک تقریب نافذ کر دیا ہے کسی بھی وقت اس طرح اب تک، کسی بھی مقامی متغیر ہے کہ آپ کو 496 00:21:31,090 --> 00:21:31,890 یقینا مقامی ہیں. 497 00:21:31,890 --> 00:21:33,060 اور وہ صرف غائب. 498 00:21:33,060 --> 00:21:35,040 وہ آپریٹنگ کی طرف سے دوبارہ حاصل کر رہے ہیں آخر میں نظام. 499 00:21:35,040 --> 00:21:39,800 >> تو TEMP اب بھی ہے حقیقت یہ ہے کہ قیمت 1 ترتیب دیں بنیادی ہے 500 00:21:39,800 --> 00:21:41,150 ہمیں uninteresting. 501 00:21:41,150 --> 00:21:43,100 ٹھیک ہے، تو تعریف کا ایک چکر ہم چارلی کے لئے ہو سکتے ہیں. 502 00:21:43,100 --> 00:21:46,400 بہت اچھا کیا. 503 00:21:46,400 --> 00:21:51,520 >> ٹھیک ہے، تو کیا ہوتا ہے یہ ہم کر سکتے ہیں مطلب؟ 504 00:21:51,520 --> 00:21:54,400 تو یہ ہے کہ ہم کیا گیا ہے کہ باہر کر دیتا ہے چند ایک سفید جھوٹ بول رہی 505 00:21:54,400 --> 00:21:55,540 کچھ وقت کے لئے. 506 00:21:55,540 --> 00:21:59,990 بے شک، یہ، کہ ایک تار باہر کر دیتا ہے اس وقت کے سب، ایک بہت نہیں ہے 507 00:21:59,990 --> 00:22:02,190 SE فی حروف کی ترتیب. 508 00:22:02,190 --> 00:22:03,980 اس قسم کی ہے کہ intuitively ہے. 509 00:22:03,980 --> 00:22:08,270 >> لیکن تکنیکی طور پر بولنے، سٹرنگ ہے ہم کے اندر کا اعلان کر دیا ہے کہ اعداد و شمار کی قسم 510 00:22:08,270 --> 00:22:12,170 دنیا آسان بنانے CS50 لائبریری کلاس کے پہلے چند ہفتوں کے لئے. 511 00:22:12,170 --> 00:22:20,130 کیا ایک تار واقعی ہے پتہ ہے کہیں RAM میں ایک کردار کی. 512 00:22:20,130 --> 00:22:25,530 ایک تار 123 کی طرح واقعی ایک نمبر ہے ہدبندی کرنا کیا ہوتا ہے کہ یا 127، 513 00:22:25,530 --> 00:22:28,420 ایک تار میں شروع ہوتی ہے جہاں آپ کے کمپیوٹر کی میموری. 514 00:22:28,420 --> 00:22:31,870 >> لیکن اس کی نمائندگی نہیں کرتا سٹرنگ، فی SE، خود. 515 00:22:31,870 --> 00:22:33,460 اور ہم اس کے طور پر مندرجہ ذیل ہے دیکھ سکتے ہیں. 516 00:22:33,460 --> 00:22:35,980 مجھ سے آگے بڑھو اور کھول دو کے درمیان ہے کہ کچھ کوڈ 517 00:22:35,980 --> 00:22:38,340 آج کی ماخذ کوڈ مثالیں. 518 00:22:38,340 --> 00:22:42,225 اور میں آگے بڑھو اور کھولنے کے لئے جا رہا ہوں اپ، کا آپس میں موازنہ-0.c، کی کہنے دو 519 00:22:42,225 --> 00:22:44,830 520 00:22:44,830 --> 00:22:48,790 یہ جا رہا ہے کہ ایک چھوٹی گاڑی پروگرام ہے مندرجہ ذیل کے طور پر لاگو کیا جائے گا. 521 00:22:48,790 --> 00:22:49,040 >> سب سے پہلے. 522 00:22:49,040 --> 00:22:50,420 میں کچھ کہنے جا رہا ہوں. 523 00:22:50,420 --> 00:22:52,660 پھر میں آگے جانے والے اور رہا ہوں صارف کی طرف سے ایک سٹرنگ حاصل 524 00:22:52,660 --> 00:22:53,750 کہ اگلے لائن میں. 525 00:22:53,750 --> 00:22:55,370 پھر میں نے اسے دوبارہ کہنے جا رہا ہوں. 526 00:22:55,370 --> 00:22:57,540 پھر میں نے ایک اور حاصل کرنے کے لئے جا رہا ہوں صارف سے سٹرنگ. 527 00:22:57,540 --> 00:23:00,390 >> اور نوٹس، میں سے ایک دکھا رہا ہوں ے نامی ایک متغیر میں ڈور ہے، اور 528 00:23:00,390 --> 00:23:03,040 ان ڈور کی ایک اور T نامی ایک متغیر میں. 529 00:23:03,040 --> 00:23:07,480 اور اب میں بہت، کا دعوی کرنے جا رہا ہوں معقول حد تک، کے برابر ہے تو، T برابر ہے کہ 530 00:23:07,480 --> 00:23:08,940 ڈور ایک جیسے ہیں. 531 00:23:08,940 --> 00:23:09,970 تم سے یہی بات ٹائپ کریں. 532 00:23:09,970 --> 00:23:11,830 دوسری صورت میں، ڈور ہیں نہیں ایک ہی بات. 533 00:23:11,830 --> 00:23:15,440 >> سب کے بعد، ہم ان پٹ دو ints، دو تو حروف، دو floats، دو ڈبلز، میں سے کسی 534 00:23:15,440 --> 00:23:18,400 ہم کے بارے میں بات کی ہے کے اعداد و شمار اقسام ابھی تک ان کا آپس میں موازنہ - 535 00:23:18,400 --> 00:23:22,070 ہم تھوڑی دیر پہلے بہت واضح کر دیا یاد اگر آپ ایسا نہیں کرتے، کیونکہ 536 00:23:22,070 --> 00:23:25,840 واحد کے برابر سائن کورس کی ہے تفویض آپریٹر. 537 00:23:25,840 --> 00:23:26,820 تاکہ ایک مسئلے ہوگی. 538 00:23:26,820 --> 00:23:29,260 >> ہم برابر برابر علامت کا استعمال کرتے ہیں، بے شک جس کا موازنہ 539 00:23:29,260 --> 00:23:31,050 سچ مساوات کے لئے چیزیں. 540 00:23:31,050 --> 00:23:32,275 لیکن میں یہ چھوٹی گاڑی ہے دعوی. 541 00:23:32,275 --> 00:23:37,400 میں آگے بڑھو اور صفر کا آپس میں موازنہ کرتے ہیں تو، اور پھر ڈاٹ سلیش صفر کا آپس میں موازنہ کرتے ہیں. 542 00:23:37,400 --> 00:23:39,700 اور میں خوش آمدید، کی کا کہنا ہے کہ دو، میں ٹائپ کریں. 543 00:23:39,700 --> 00:23:41,590 اور اس کے بعد کی ایک بار پھر خوش آمدید کہتے ہیں. 544 00:23:41,590 --> 00:23:46,040 لفظی ایک ہی بات، کمپیوٹر مجھے مختلف چیزیں ٹائپ کا دعوی. 545 00:23:46,040 --> 00:23:47,640 >> اب شاید میں نے ابھی کچھ mistyped. 546 00:23:47,640 --> 00:23:49,910 میں نے اپنا نام اس وقت ٹائپ کریں گے. 547 00:23:49,910 --> 00:23:52,580 میرا مطلب ہے، ہیلو. 548 00:23:52,580 --> 00:23:54,770 خوش. 549 00:23:54,770 --> 00:23:57,360 یہ ہر وقت مختلف ہے. 550 00:23:57,360 --> 00:23:58,430 >> ٹھیک ہے، کیوں ہے؟ 551 00:23:58,430 --> 00:24:00,140 کیا سچ میں ہو رہا ہے ہڈ کے نیچے؟ 552 00:24:00,140 --> 00:24:03,270 ٹھیک ہے، کیا واقعی نیچے ہو رہا ہے ڈاکو تو سٹرنگ ہے 553 00:24:03,270 --> 00:24:07,410 میں نے مثال کے طور پر کہ پہلی بار میں ٹائپ لفظ کورس کے، خوش ہے. 554 00:24:07,410 --> 00:24:11,660 لیکن ہم نے نیچے اس کی نمائندگی کرتے ہیں تو ڈاکو، یاد ہے کہ ایک 555 00:24:11,660 --> 00:24:13,470 سٹرنگ ایک صف میں ہے. 556 00:24:13,470 --> 00:24:15,040 اور ہم نے ماضی میں جتنا کہا ہے. 557 00:24:15,040 --> 00:24:20,200 >> میں نے اس طرح کہ سرنی اپنی طرف متوجہ اگر ایسا ہے تو میں ہوں بہت کچھ کی نمائندگی کرنے والا 558 00:24:20,200 --> 00:24:23,030 ہم نے ایک لمحے کے پہلے نے کیا کیا کرنے کے لئے اسی طرح کی. 559 00:24:23,030 --> 00:24:25,390 اور کچھ اصل میں ہے بھی، یہاں خصوصی. 560 00:24:25,390 --> 00:24:28,090 ہم پر کیا گیا تھا اس بات کا تعین کیا ہر سٹرنگ کے آخر؟ 561 00:24:28,090 --> 00:24:30,760 جی ہاں، یہ الٹا سلیش صفر، جو ہے کی نمائندگی کرنے کا صرف راستہ، 562 00:24:30,760 --> 00:24:33,610 لفظی، 00000000. 563 00:24:33,610 --> 00:24:35,680 ایک قطار میں آٹھ 0 بٹس. 564 00:24:35,680 --> 00:24:37,610 >> میں نے واضح طور سے نہیں جانتا، اس کے بعد کیا ہے. 565 00:24:37,610 --> 00:24:40,090 یہ صرف ایک گروپ مزید رام کی میرے کمپیوٹر کے اندر. 566 00:24:40,090 --> 00:24:40,970 لیکن یہ ایک سرنی ہے. 567 00:24:40,970 --> 00:24:42,260 ہم سے پہلے arrays بارے میں بات کی. 568 00:24:42,260 --> 00:24:45,010 اور ہم عام طور پر arrays کے بارے میں بات محل وقوع صفر ہونے کے طور پر، 569 00:24:45,010 --> 00:24:46,580 تو ایک، دو. 570 00:24:46,580 --> 00:24:47,950 لیکن یہ صرف سہولت کے لئے ہے. 571 00:24:47,950 --> 00:24:49,380 اور یہ کہ مکمل طور پر رشتہ دار ہے. 572 00:24:49,380 --> 00:24:53,010 >> آپ اصل میں میموری سے ہو رہی ہے جب کمپیوٹر، اس کورس کی کسی بھی قسم کی ہے 573 00:24:53,010 --> 00:24:55,450 2 ارب کچھ عجیب بائٹس، ممکنہ طور پر. 574 00:24:55,450 --> 00:24:59,100 تو واقعی ہڈ کے نیچے، یہ سب وقت، جی ہاں. 575 00:24:59,100 --> 00:25:01,670 یہ بہت اچھی طرح بریکٹ صفر ہو سکتا ہے. 576 00:25:01,670 --> 00:25:04,780 لیکن آپ نیچے بھی گہرے کھودنے تو ڈاکو، یہ واقعی ہے 577 00:25:04,780 --> 00:25:07,000 تعداد 123 سے خطاب. 578 00:25:07,000 --> 00:25:09,150 اس پتے 124 ہے. 579 00:25:09,150 --> 00:25:11,040 اس پتے 125 ہے. 580 00:25:11,040 --> 00:25:12,540 >> اور میں اس وقت بگاڑ نہیں کیا. 581 00:25:12,540 --> 00:25:15,840 یہ اب ایک رائج ہیں علاوہ کس وجہ سے؟ 582 00:25:15,840 --> 00:25:17,930 ایک چار کتنا بڑا ہے؟ 583 00:25:17,930 --> 00:25:19,170 ایک چار صرف ایک بائٹ ہے. 584 00:25:19,170 --> 00:25:20,570 ایک INT عام طور پر چار بائٹس ہے. 585 00:25:20,570 --> 00:25:24,850 میں نے اسے 123 کر دیا لہذا، ہے 127، 131 اور تو آگے. 586 00:25:24,850 --> 00:25:27,560 اب میں ریاضی آسان رکھ سکتے ہیں اور صرف پلس 1 کرتے ہیں. 587 00:25:27,560 --> 00:25:30,510 اور یہ واقعی میں اب کیا ہو رہا ہے ہے ہڈ کے نیچے پر. 588 00:25:30,510 --> 00:25:37,760 >> آپ کو کچھ اس طرح کا اعلان تو جب سٹرنگ S، یہ اصل میں ہے - 589 00:25:37,760 --> 00:25:39,170 یہ باہر کر دیتا ہے - 590 00:25:39,170 --> 00:25:41,190 چار ستارہ. 591 00:25:41,190 --> 00:25:44,640 سٹار، کورس کی، کا مطلب پتہ، ارف پوائنٹر. 592 00:25:44,640 --> 00:25:46,200 تو یہ کچھ پتہ ہے. 593 00:25:46,200 --> 00:25:47,510 یہ کس کا ایڈریس ہے؟ 594 00:25:47,510 --> 00:25:47,760 >> ٹھیک ہے - 595 00:25:47,760 --> 00:25:51,680 میں بہت دیکھ سکتے ہیں، جو صرف ایک ہی ہوں اہم بات میں بنانے، یا لگتا ہے کہ رہا ہوں 596 00:25:51,680 --> 00:25:52,560 میں بنا رہا ہوں. 597 00:25:52,560 --> 00:25:55,270 تو سٹرنگ - 598 00:25:55,270 --> 00:25:57,180 دکھ کی بات یہ ہے کہ میں نے ایک مانیٹر کر رہا ہے وہیں جہاں میں 599 00:25:57,180 --> 00:25:58,100 کہ دیکھا ہے ہو سکتا ہے. 600 00:25:58,100 --> 00:26:00,990 >> ٹھیک ہے، تو سٹرنگ ایس کیا ہے میں نے اس سے پہلے اعلان کر دیا. 601 00:26:00,990 --> 00:26:04,600 لیکن یہ ایک چھوٹی سی کا شکریہ، باہر کر دیتا ہے CS50 لائبریری میں جادو، یہ سب 602 00:26:04,600 --> 00:26:08,780 وقت سٹرنگ لفظی ہے چار ستارہ رہا. 603 00:26:08,780 --> 00:26:11,310 ستارہ ایک بار پھر کا مطلب ہے پوائنٹر یا ایڈریس. 604 00:26:11,310 --> 00:26:14,180 یہ flanking ہے حقیقت یہ ہے کہ چار لفظ ہے اس کا مطلب 605 00:26:14,180 --> 00:26:15,970 ایک کردار کا پتہ. 606 00:26:15,970 --> 00:26:23,100 >> سٹرنگ کہا جاتا ہے، حاصل کرنے، اور میں ٹائپ کریں تو ایچ ای ایل ایل اے میں حاصل کیا ہے اب تجویز 607 00:26:23,100 --> 00:26:27,330 سٹرنگ لفظی کے سب واپس آ گیا اس وقت، ہم ہے بلکہ اگرچہ 608 00:26:27,330 --> 00:26:29,980 دنیا oversimplified؟ 609 00:26:29,980 --> 00:26:33,310 سٹرنگ دراصل حاصل کرتا ہے اس کی واپسی کی قیمت کے طور پر واپس آ جائیں؟ 610 00:26:33,310 --> 00:26:35,830 611 00:26:35,830 --> 00:26:38,720 >> اس کیس میں 123، مثال کے طور پر. 612 00:26:38,720 --> 00:26:42,630 ہم پہلے سٹرنگ حاصل نے کہا کہ ہے صرف ایک تار کے ایک ہی تسلسل واپس 613 00:26:42,630 --> 00:26:43,300 حروف. 614 00:26:43,300 --> 00:26:44,790 لیکن یہ ایک سفید جھوٹ کا تھوڑا سا ہے. 615 00:26:44,790 --> 00:26:48,010 جس طرح سٹرنگ واقعی کام کرتا حاصل ہڈ کے نیچے یہ ہو جاتا ہے 616 00:26:48,010 --> 00:26:48,930 صارف سے سٹرنگ. 617 00:26:48,930 --> 00:26:51,530 یہ کہ حروف plops یاد میں وہ یا وہ اقسام. 618 00:26:51,530 --> 00:26:54,680 یہ آخر میں ایک الٹا سلیش صفر رکھتا ہے حروف کی ترتیب ان کے. 619 00:26:54,680 --> 00:26:57,310 >> لیکن اس وقت سٹرنگ کیا ہوتی ہے لفظی واپس؟ 620 00:26:57,310 --> 00:27:02,710 یہ لفظی کا پتہ واپس RAM میں بہت پہلے رائج ہے کہ 621 00:27:02,710 --> 00:27:04,130 اس کی طاقت کے لئے استعمال کیا. 622 00:27:04,130 --> 00:27:07,500 اور یہ واپس لوٹنے کی طرف سے صرف باہر کر دیتا ہے کا ایک ایڈریس 623 00:27:07,500 --> 00:27:12,120 سٹرنگ میں پہلا کردار یہ ہے کہ کے مکمل طور پر تلاش کرنے کے لئے کافی 624 00:27:12,120 --> 00:27:12,630 سٹرنگ. 625 00:27:12,630 --> 00:27:16,930 >> دوسرے الفاظ میں، سٹرنگ نہیں ہے حاصل 123 اور 124 اور 125 واپس لوٹنے کے لئے. 626 00:27:16,930 --> 00:27:19,950 یہ میرے ایک طویل دینے کے لئے نہیں ہے کہ بائٹس کے تمام کی فہرست 627 00:27:19,950 --> 00:27:20,740 میری سٹرنگ کا استعمال کرتے ہوئے کیا جاتا ہے. 628 00:27:20,740 --> 00:27:22,670 ایک وجہ سے، وہ واپس کرنے کے لئے تمام واپس آ گئے ہیں. 629 00:27:22,670 --> 00:27:28,160 اور میں، سب سے پہلے ایڈریس پر دو، کی بنیاد پر سٹرنگ کہاں ختم ہوتی پتہ کر سکتے ہیں. 630 00:27:28,160 --> 00:27:29,910 کس طرح؟ 631 00:27:29,910 --> 00:27:33,490 >> خصوصی اتارنا null کردار آخر میں صفر الٹا سلیش. 632 00:27:33,490 --> 00:27:35,430 تو دوسرے الفاظ میں، اگر آپ کے ارد گرد منتقل - 633 00:27:35,430 --> 00:27:36,530 متغیرات میں سے اندر - 634 00:27:36,530 --> 00:27:41,300 ایک چار کا پتہ، اور آپ فرض کسی بھی سٹرنگ کے آخر میں، کسی بھی ہے کہ 635 00:27:41,300 --> 00:27:45,040 ہم انسانوں کے طور پر حروف کی ترتیب اگر آپ فرض کریں، اگر ڈور کے بارے میں سوچنا ہے کہ 636 00:27:45,040 --> 00:27:48,600 وہاں ایسے کسی بھی سٹرنگ کے آخر میں ایک الٹا سلیش صفر، آپ سنہری ہیں. 637 00:27:48,600 --> 00:27:52,430 آپ کو ہمیشہ حاصل کر سکتے ہیں کیونکہ ایک تار کے آخر میں. 638 00:27:52,430 --> 00:27:54,870 >> اب کیا واقعی میں اس وقت جا رہا ہے اس پروگرام میں پر نہیں ہیں؟ 639 00:27:54,870 --> 00:27:59,990 کیوں اس پروگرام ہے، موازنہ-0.c، چھوٹی گاڑی؟ 640 00:27:59,990 --> 00:28:01,690 اصل کے مقابلے میں کیا کیا جا رہا ہے؟ 641 00:28:01,690 --> 00:28:02,420 جی ہاں؟ 642 00:28:02,420 --> 00:28:05,000 >> طالب: [اشراوی]. 643 00:28:05,000 --> 00:28:05,730 >> DAVID MALAN: بالکل درست. 644 00:28:05,730 --> 00:28:08,350 یہ مقامات کا موازنہ ہے تار کی. 645 00:28:08,350 --> 00:28:12,420 صارف خوش ایک بار میں ٹائپ ہے اگر ایسا ہے تو میں نے کے طور پر، میموری ختم ہو سکتا ہے 646 00:28:12,420 --> 00:28:13,430 اس طرح تلاش کر. 647 00:28:13,430 --> 00:28:18,210 ایک بار پھر خوش میں صارف پھر اقسام ہیں تو، لیکن پھر سٹرنگ حاصل فون کر کے، سی ہے 648 00:28:18,210 --> 00:28:21,800 آپ کو خاص طور پر ہوشیار نہیں سکھاتے جب تک یہ کوڈ لکھ کر ہوشیار ہو. 649 00:28:21,800 --> 00:28:22,430 >> C - 650 00:28:22,430 --> 00:28:23,860 زیادہ عام طور پر اور کمپیوٹر - 651 00:28:23,860 --> 00:28:27,370 آپ خوش ایک بار پھر لفظ میں ٹائپ کرتے ہیں تو، اگر آپ کو حاصل کرنے کے لئے جا رہے ہیں کیا پتہ. 652 00:28:27,370 --> 00:28:31,480 تم صرف ایک دوسرے سرنی حاصل کرنے کے لئے جا رہے ہیں میموری کی کہ، جی ہاں، ہو کیا ہوتا ہے 653 00:28:31,480 --> 00:28:35,510 ایچ ای ایل ایل اے محفوظ اور تو آگے. 654 00:28:35,510 --> 00:28:38,240 >> یہ وہی نظر آتے جا رہا ہے ہمیں انسانوں، لیکن اس پتے 655 00:28:38,240 --> 00:28:39,460 123 نہیں ہو سکتا ہے. 656 00:28:39,460 --> 00:28:42,470 یہ صرف اتنا ہو سکتا ہے کہ آپریٹنگ سسٹم کے کچھ دستیاب ہے 657 00:28:42,470 --> 00:28:45,430 مقام پر مثال کے طور پر کی جگہ - 658 00:28:45,430 --> 00:28:49,820 صوابدیدی کچھ کہنے دو کی، اس طرح مقام 200 ہے. 659 00:28:49,820 --> 00:28:51,620 اور یہ مقام 201 ہے. 660 00:28:51,620 --> 00:28:53,060 اور یہ مقام 202 ہے. 661 00:28:53,060 --> 00:28:55,730 ہم وہ ہے جہاں کوئی اندازہ نہیں ہے یاد میں ہونے جا رہا. 662 00:28:55,730 --> 00:28:59,110 >> لیکن اس کا مطلب کیا ہے ے میں بالآخر ذخیرہ کیا جا رہا؟ 663 00:28:59,110 --> 00:29:00,750 نمبر 123. 664 00:29:00,750 --> 00:29:04,860 ، T میں محفوظ کیا جائے گا کیا ہو رہا ہے اس صوابدیدی مثال میں؟ 665 00:29:04,860 --> 00:29:06,300 نمبر 200. 666 00:29:06,300 --> 00:29:11,410 اور اس کا مطلب ہے کہ اس وقت سب، ظاہر ہے 123 200 کے برابر نہیں ہے. 667 00:29:11,410 --> 00:29:14,940 اور اس طرح اس کی حالت تو کبھی نہیں سچ پر کی تشخیص کرتا ہے. 668 00:29:14,940 --> 00:29:18,430 حاصل سٹرنگ مختلف استعمال کر رہا ہے کیونکہ میموری کی مقدار ہر وقت. 669 00:29:18,430 --> 00:29:20,360 >> اب ہم اس کو پھر سے دیکھ سکتے ہیں ایک اور مثال میں. 670 00:29:20,360 --> 00:29:23,764 مجھ سے آگے بڑھو اور کاپی 0.c کھول دیں. 671 00:29:23,764 --> 00:29:28,770 میں نے اس مثال کے طور پر کی جا رہی ہے کا دعوی ہے کہ کرنے کی کوشش کریں - لیکن ناکام - دو ڈور کاپی کرنے کے لئے 672 00:29:28,770 --> 00:29:29,910 کے طور پر مندرجہ ذیل ہے. 673 00:29:29,910 --> 00:29:31,730 >> میں کچھ کہنے جا رہا ہوں صارف کو. 674 00:29:31,730 --> 00:29:34,490 میں پھر ایک حاصل کرنے کے لئے جا رہا ہوں سٹرنگ اور اس کا کہتے ہیں. 675 00:29:34,490 --> 00:29:36,400 اور اب، میں یہاں یہ چیک کر رہا ہوں. 676 00:29:36,400 --> 00:29:37,990 ہم نے اس تھوڑی دیر کے پیچھے کا ذکر کیا. 677 00:29:37,990 --> 00:29:42,490 لیکن جب سٹرنگ واپسی اتارنا null مل سکتا ہے ایک اور خصوصی حروف، یا خصوصی 678 00:29:42,490 --> 00:29:45,050 علامت چلو کا کہنا ہے کہ. 679 00:29:45,050 --> 00:29:45,900 یہ میموری سے باہر ہے تو. 680 00:29:45,900 --> 00:29:48,970 >> مثال کے طور پر، صارف کو واقعی ہے تو ایک atrocious مشکل اور اقسام کیا جا رہا ہے 681 00:29:48,970 --> 00:29:51,220 میں حروف کی تعداد کی بورڈ اور مشاہدات درج کریں. 682 00:29:51,220 --> 00:29:54,580 حروف کی یہ تعداد صرف نہیں کر سکتے ہیں پاگل جو RAM میں فٹ 683 00:29:54,580 --> 00:29:57,820 وجہ سے، اچھی طرح سٹرنگ طاقت حاصل بہت اچھی طرح سے واپس شہوت انگیز null. 684 00:29:57,820 --> 00:30:01,080 >> یا اپنے پروگرام بذات خود ایک بہت کر رہی ہے تو دوسری چیزوں کے اور صرف ہے 685 00:30:01,080 --> 00:30:03,790 حاصل سٹرنگ کے لئے کافی میموری نہیں کامیاب ہونے کے لئے، یہ ختم ہو سکتا ہے 686 00:30:03,790 --> 00:30:05,240 شہوت انگیز null واپس لوٹنے تک. 687 00:30:05,240 --> 00:30:07,160 لیکن زیادہ درست ہو جانے دو یہ کیا ہے کے طور پر. 688 00:30:07,160 --> 00:30:10,280 کے اعداد و شمار کی قسم کی واقعی کیا ہے؟ 689 00:30:10,280 --> 00:30:11,610 چار ستارہ. 690 00:30:11,610 --> 00:30:14,560 >> تو یہ اب ہم چھیل کر سکتے ہیں باہر کر دیتا ہے شہوت انگیز null کی پرت کی حمایت. 691 00:30:14,560 --> 00:30:17,500 باہر کر دیتا، شہوت انگیز null ہے - جی ہاں، ظاہر ہے ایک خاص علامت. 692 00:30:17,500 --> 00:30:19,190 لیکن یہ واقعی میں کیا ہے؟ 693 00:30:19,190 --> 00:30:25,220 سچ میں، شہوت انگیز null صرف ایک نشانی ہے کہ ہم انسانوں کے ساتھ ساتھ صفر کی نمائندگی کے لئے استعمال کرتے ہیں. 694 00:30:25,220 --> 00:30:29,010 >> سی کے مصنفین، اور کمپیوٹر تو مزید عام طور پر، سال پہلے کا فیصلہ 695 00:30:29,010 --> 00:30:30,010 کہ، تمہیں معلوم ہے. 696 00:30:30,010 --> 00:30:34,850 ہم کیوں یقینی نہیں ہے کہ صارف کا کوئی اعداد و شمار کبھی، کبھی، کبھی بھی ہے 697 00:30:34,850 --> 00:30:36,730 بای صفر پر محفوظ کیا جاتا؟ 698 00:30:36,730 --> 00:30:39,610 اصل میں، یہاں تک کہ میری صوابدیدی مثال میں اس سے پہلے، میں نمبر شروع نہیں کیا 699 00:30:39,610 --> 00:30:40,390 صفر پر بائٹس. 700 00:30:40,390 --> 00:30:41,540 میں ایک میں شروع کر دیا. 701 00:30:41,540 --> 00:30:44,950 میں دنیا میں کہ لوگ جانتے تھے کیونکہ صفر محفوظ رکھتے ہیں کا فیصلہ کیا ہے 702 00:30:44,950 --> 00:30:47,970 کسی کی ریم کے طور پر میں بائٹ کچھ خاص. 703 00:30:47,970 --> 00:30:52,020 >> وجہ کیا جا رہا ہے، کسی بھی وقت آپ چاہتے ہیں کچھ غلط ہو گیا ہے کہ اشارہ 704 00:30:52,020 --> 00:30:55,960 پتوں کے حوالے سے، آپ واپس آئے شہوت انگیز null - دوسری صورت میں صفر کے طور پر جانا جاتا - 705 00:30:55,960 --> 00:30:59,410 اور آپ کو نہیں ہے جانتے ہیں کہ اس کی وجہ واضح طور پر، پتہ صفر پر اعداد و شمار legit 706 00:30:59,410 --> 00:31:00,400 کہ ایک غلطی کا مطلب ہے. 707 00:31:00,400 --> 00:31:04,080 اور یہ کہ ہم نے کنونشن کی طرف سے جانچ پڑتال کیوں ہے شہوت انگیز null اور بدلے کچھ 708 00:31:04,080 --> 00:31:06,260 ان صورتوں میں ایک جیسے. 709 00:31:06,260 --> 00:31:09,300 >> اب ہم ذیل میں سکرال اگر ایسا ہے تو یہ صرف ہے پھر کچھ غلطی چیکنگ، صرف میں کیس 710 00:31:09,300 --> 00:31:10,610 کچھ [کے ساتھ غلط ہو گیا؟ ضمانت؟] 711 00:31:10,610 --> 00:31:13,470 مکمل طور پر اور پروگرام چھوڑ دیا جلد واپس لوٹنے کی طرف سے. 712 00:31:13,470 --> 00:31:19,030 یہ لائن اب دوبارہ جا سکتا ہے اس کے طور پر، جس کا مطلب کیا ہے؟ 713 00:31:19,030 --> 00:31:23,155 بائیں ہاتھ کی طرف، مجھے ایک اور دے ایک کردار ہے، اور یہ ٹی فون کرنے پوائنٹر. 714 00:31:23,155 --> 00:31:26,935 میں کی بنیاد پر، ٹی کے اندر کیا محفوظ کر رہا ہوں کوڈ کے اس ایک ہی لائن میں؟ 715 00:31:26,935 --> 00:31:30,950 716 00:31:30,950 --> 00:31:32,170 >> میں نے ایک جگہ محفوظ کر رہا ہوں. 717 00:31:32,170 --> 00:31:34,742 خاص طور پر محل وقوع کہ ے میں تھا. 718 00:31:34,742 --> 00:31:39,000 صارف خوش میں ٹائپ ہے، اور اگر ایسا ہے تو کہ سب سے پہلے خوش ختم کرنے کے لئے ہوتا ہے 719 00:31:39,000 --> 00:31:42,567 یہاں، پھر تعداد 123 ہے ملے سے واپس آنے والے 720 00:31:42,567 --> 00:31:43,810 STRING اور ذخیرہ کیا جائے - 721 00:31:43,810 --> 00:31:44,780 ہم نے پہلے کہا کے طور پر - 722 00:31:44,780 --> 00:31:45,440 ے میں. 723 00:31:45,440 --> 00:31:50,560 >> اب میں ایک اور پوائنٹر اعلان جب ایک چار ہے اور یہ فون T، نمبر کیا ہے 724 00:31:50,560 --> 00:31:53,940 لفظی میں ختم کرنے کے لئے جا کہانی کے مطابق T؟ 725 00:31:53,940 --> 00:31:55,420 123 تو. 726 00:31:55,420 --> 00:32:00,310 >> لہذا تکنیکی طور پر اب ے اور دونوں T عین مطابق کی طرف اشارہ کر رہے ہیں 727 00:32:00,310 --> 00:32:02,410 میموری کی اسی مقدار. 728 00:32:02,410 --> 00:32:06,140 تو میں اب کیا کرنے جا رہا ہوں کیا محسوس اس پروگرام چھوٹی گاڑی ہے، یہ ثابت. 729 00:32:06,140 --> 00:32:08,820 >> کے ساتھ سب سے پہلے میں، کا دعوی کرنے جا رہا ہوں ایک پرنٹ F، فائدہ 730 00:32:08,820 --> 00:32:10,080 سٹرنگ کی کاپی. 731 00:32:10,080 --> 00:32:11,660 پھر میں نے ایک چھوٹی سی کرنے والا ہوں چیکنگ میں خرابی. 732 00:32:11,660 --> 00:32:12,160 مجھے یقین بنانے کے لئے جا رہا ہوں. 733 00:32:12,160 --> 00:32:16,710 چلو سٹرنگ ٹی پر ہے کہ اس بات کو یقینی بنائیں کم از کم لمبائی میں صفر سے زیادہ، 734 00:32:16,710 --> 00:32:19,190 تو کچھ کردار وہاں ہے اصل فائدہ اٹھانے. 735 00:32:19,190 --> 00:32:22,840 >> اور پھر آپ اس کو یاد کر سکتے ہیں گزشتہ مثالوں سے. 736 00:32:22,840 --> 00:32:25,630 اوپری 2 - میں ہے جو ctype.h فائل. 737 00:32:25,630 --> 00:32:30,800 ٹی بریکٹ صفر مجھے صفر دیتا ہے سٹرنگ ٹی کے کردار. 738 00:32:30,800 --> 00:32:34,360 کہ ایک ہی قیمت کے اوپری اور 2، کورس کی، اس کے بڑے کے لئے بدل دیتا ہے. 739 00:32:34,360 --> 00:32:38,230 >> تو intuitively، اس لائن پر روشنی ڈالی کوڈ کا پہلا فائدہ ہے 740 00:32:38,230 --> 00:32:40,250 T میں خط. 741 00:32:40,250 --> 00:32:44,485 لیکن یہ intuitively، فائدہ نہیں ہے پاکستان میں سب سے پہلے خط. 742 00:32:44,485 --> 00:32:48,130 تم آگے سوچ رہے ہیں لیکن اگر میں کیا ہوں میں نے اس پروگرام چلائیں جب کے بارے میں دیکھنے کے لئے 743 00:32:48,130 --> 00:32:54,220 اور، اصل دونوں باہر پرنٹ S، اور نام نہاد کاپی، T؟ 744 00:32:54,220 --> 00:32:55,350 >> وہ اصل میں ایک ہی بننے جا رہے ہو. 745 00:32:55,350 --> 00:32:56,600 اور کیوں وہ ایک ہی ہونے جا رہے ہیں؟ 746 00:32:56,600 --> 00:32:58,970 747 00:32:58,970 --> 00:33:01,020 وہ کی طرف اشارہ کر رہے ہیں دونوں بالکل ایک ہی بات. 748 00:33:01,020 --> 00:33:01,610 تو یہ کرتے ہیں. 749 00:33:01,610 --> 00:33:03,160 >> کاپی صفر بنائیں. 750 00:33:03,160 --> 00:33:04,070 یہ ٹھیک ہے compiles. 751 00:33:04,070 --> 00:33:06,500 مجھے کاپی صفر چلانے ہیں. 752 00:33:06,500 --> 00:33:10,110 مجھ میں خوش طرح کچھ ٹائپ کرتے ہیں تمام چھوٹے پھر درج کریں مارا. 753 00:33:10,110 --> 00:33:16,520 اور یہ دعوی کیا ہے کہ حقیقی کے دونوں اور کاپی واقعی ایک جیسی ہیں. 754 00:33:16,520 --> 00:33:17,920 >> تو کیا سچ میں یہاں کیا ہوا ہے؟ 755 00:33:17,920 --> 00:33:20,100 مجھے اس تصویر کو صرف redraw کرنے دو ایک میں کہانی بتانے کے لئے 756 00:33:20,100 --> 00:33:21,340 تھوڑا سا مختلف طریقے سے. 757 00:33:21,340 --> 00:33:26,060 کیا واقعی نیچے ہو رہا ہے میں نے کچھ اس طرح کا اعلان جب ڈاکو 758 00:33:26,060 --> 00:33:30,410 چار آغاز S، یا سٹرنگ S، میں ایک پوائنٹر ہو رہی ہے - 759 00:33:30,410 --> 00:33:33,090 جس میں چار بائٹس ہو CS50 آلات میں 760 00:33:33,090 --> 00:33:34,410 اور کمپیوٹر کے ایک بہت میں. 761 00:33:34,410 --> 00:33:36,008 اور میں نے اس کے فون کرنے کے لئے جا رہا ہوں. 762 00:33:36,008 --> 00:33:39,810 اور یہ اس وقت ہے کسی نامعلوم قدر. 763 00:33:39,810 --> 00:33:43,900 >> آپ کو ایک متغیر کا اعلان کرتے ہیں، تو جب تک آپ اپنے آپ کو، وہاں جو ایک قدر رکھ 764 00:33:43,900 --> 00:33:44,570 وہاں کیا ہے جانتا ہے. 765 00:33:44,570 --> 00:33:48,110 یہ کچھ بے ترتیب ترتیب میں ہو سکتا ہے گزشتہ عملدرآمد سے بٹس. 766 00:33:48,110 --> 00:33:52,490 لہذا میں کوڈ کی میری قطار میں حاصل کرتے ہیں جب سٹرنگ، اور پھر واپسی ذخیرہ 767 00:33:52,490 --> 00:33:54,800 کی میں قدر کسی نہ کسی طرح حاصل سٹرنگ - 768 00:33:54,800 --> 00:33:58,520 اور ہم بالآخر حاصل کس طرح واپس چھیل دیں گے سٹرنگ کام، کسی نہ کسی طرح ایک مختص 769 00:33:58,520 --> 00:34:00,480 شاید لگتا ہے کہ سرنی اس طرح تھوڑا سا. 770 00:34:00,480 --> 00:34:05,390 ایچ ای ایل ایل اے، الٹا سلیش صفر. 771 00:34:05,390 --> 00:34:09,510 >> یہ پتہ ہے کہ اس کی فرض کرتے ہیں 123 صرف پہلے مستقل مزاجی. 772 00:34:09,510 --> 00:34:13,000 تو میں، سٹرنگ ریٹرن حاصل وہاں لائن پر روشنی ڈالی، اس کے واپس 773 00:34:13,000 --> 00:34:15,000 تعداد 123 ہم نے کہا. 774 00:34:15,000 --> 00:34:17,420 تو کیا واقعی یہاں ے کے اندر جاتا ہے؟ 775 00:34:17,420 --> 00:34:26,590 >> ویسے، واقعی کیا جاتا ہے اندر کے 123 ہے. 776 00:34:26,590 --> 00:34:29,250 لیکن واضح طور سے، میں نے ایک چھوٹی سی ہو رہی ہے ان پتوں میں سے سب کی طرف سے الجھن میں، 777 00:34:29,250 --> 00:34:30,320 ان صوابدیدی تعداد کے تمام. 778 00:34:30,320 --> 00:34:32,290 123، 124، 127. 779 00:34:32,290 --> 00:34:34,570 تو اصل میں آسان بنانے دو دنیا تھوڑا سا. 780 00:34:34,570 --> 00:34:38,800 >> ہم واضح طور سے، اشارہ کے بارے میں بات کرتے ہیں، پر ہم سے انسانوں کو، جو heck جہاں پرواہ کرتا ہے 781 00:34:38,800 --> 00:34:39,870 چیزوں کی یاد میں ہیں؟ 782 00:34:39,870 --> 00:34:41,080 یہ مکمل طور پر صوابدیدی ہے. 783 00:34:41,080 --> 00:34:43,370 یہ کس طرح پر منحصر ہے جا رہا ہے بہت صارف ہے رام. 784 00:34:43,370 --> 00:34:46,590 اس دن جب میں اس پر منحصر ہے جا رہا ہے آپ شاید، پروگرام چلائیں، اور 785 00:34:46,590 --> 00:34:48,250 کیا ان پٹ صارف آپ کو فراہم کرتا ہے. 786 00:34:48,250 --> 00:34:50,060 ہم نے غیر اہم تفصیلات پر مکان ہیں. 787 00:34:50,060 --> 00:34:54,230 >> تو چلو دور خلاصہ اور اس کا کہنا ہے کہ، اگر آپ اس طرح کے کوڈ کا ایک لائن چلاتے ہیں تو، 788 00:34:54,230 --> 00:34:57,320 چار ستارہ کی واپسی ہو جاتا ہے حاصل سٹرنگ کی قدر. 789 00:34:57,320 --> 00:35:02,720 ہم کیوں اس کی بجائے صرف ہم کیا اپنی طرف متوجہ نہیں کرتے ہے اگرچہ اس کے طور پر ایک پوائنٹر فون کرتے رہتے 790 00:35:02,720 --> 00:35:04,140 کچھ کی طرف اشارہ؟ 791 00:35:04,140 --> 00:35:07,000 تو میں نے اس کے اب تک کا دعوی ایک پوائنٹر ہے - 792 00:35:07,000 --> 00:35:08,480 ہڈ کے نیچے یہ ایک پتہ ہے. 793 00:35:08,480 --> 00:35:11,330 لیکن یہ صرف کی طرف اشارہ ہے میں سب سے پہلے بائٹ 794 00:35:11,330 --> 00:35:12,780 سٹرنگ کہ واپس آ گیا ہے. 795 00:35:12,780 --> 00:35:16,710 >> اب میں یہاں کوڈ کی طرف لوٹ آئے ہیں تو، اس لائن پر چل رہا ہے؟ 796 00:35:16,710 --> 00:35:20,020 ٹھیک ہے، اب اس پر روشنی ڈالی لائن میں، میں بظاہر ایک اور اعلان کر رہا ہوں 797 00:35:20,020 --> 00:35:21,070 T نامی متغیر. 798 00:35:21,070 --> 00:35:25,700 لیکن یہ بھی ایک پوائنٹر ہے، تو میں جا رہا ہوں عین مطابق، اصول میں، کے طور پر اپنی طرف متوجہ کرنے 799 00:35:25,700 --> 00:35:26,710 ایک ہی سائز کے خانے. 800 00:35:26,710 --> 00:35:28,160 اور میں نے اسے ٹی فون کرنے جا رہا ہوں. 801 00:35:28,160 --> 00:35:33,500 >> اور اب ہم پھر کوڈ کو واپس جانا ہو، میں نے ٹی کے کے اندر سٹور، جب 802 00:35:33,500 --> 00:35:36,920 میں تکنیکی طور پر کیا ہوں T کے اندر ڈال؟ 803 00:35:36,920 --> 00:35:39,350 ویسے تکنیکی طور پر، اس تعداد 123 تھی. 804 00:35:39,350 --> 00:35:42,270 تو واقعی میں تحریری طور پر ہونا چاہئے وہاں نمبر 123. 805 00:35:42,270 --> 00:35:43,900 لیکن اس کی اعلی سطح لینے دو 806 00:35:43,900 --> 00:35:48,090 T، یہ صرف ایک پوائنٹر ہے، intuitively، صرف یہ ہے کہ. 807 00:35:48,090 --> 00:35:49,800 کہ کیا جا رہا ہے کی تمام ہے کہ وہاں میں ذخیرہ. 808 00:35:49,800 --> 00:35:54,970 >> تو اب آخری دلچسپ لائنوں میں کوڈ کی، میں واقعی کے بارے میں جب 809 00:35:54,970 --> 00:36:00,680 صفر کردار فائدہ T میں، کیا ہو رہا ہے؟ 810 00:36:00,680 --> 00:36:06,310 ویسے، T بریکٹ صفر اب طرف اشارہ کیا جاتا ہے کیا کردار، شاید؟ 811 00:36:06,310 --> 00:36:07,460 >> یہ H کی طرف اشارہ ہے. 812 00:36:07,460 --> 00:36:08,870 کیونکہ ٹی بریکٹ صفر - 813 00:36:08,870 --> 00:36:12,490 یاد ہے، اس کی عمر نحو ہے. T بریکٹ T، T ایک تار ہے تو صفر صرف کا مطلب ہے 814 00:36:12,490 --> 00:36:15,590 بریکٹ صفر صفر حاصل کرنے کا مطلب ہے کہ کہ طاقت میں کردار. 815 00:36:15,590 --> 00:36:18,650 واقعی مطلب یہ ہے کہ تو کیا اس سرنی کے لئے جانا جاتا ہے - 816 00:36:18,650 --> 00:36:21,520 اور ہاں، یہ، 123 ہو سکتا ہے یہ 124 ہو سکتا ہے. 817 00:36:21,520 --> 00:36:22,790 لیکن یہ تمام رشتہ دار ہے، یاد ہے. 818 00:36:22,790 --> 00:36:25,640 ایک سرنی کے بارے میں بات جب ہم نے کے بارے میں بات کا فائدہ 819 00:36:25,640 --> 00:36:27,000 رشتہ دار سوچکانکوں. 820 00:36:27,000 --> 00:36:31,120 >> اور اس طرح اب ہم صرف فرض کر سکتے ہیں کہ T بریکٹ صفر ح ہے. 821 00:36:31,120 --> 00:36:35,090 میں نے اس پر 2 اوپری فون اگر ایسا ہے تو وہ کیا ہے واقعی فائدہ ہے کر 822 00:36:35,090 --> 00:36:38,290 بڑے ایچ کرنے کے لئے چھوٹے ح لیکن کورس کے، S کیا ہے؟ 823 00:36:38,290 --> 00:36:41,010 یہ وہی خوفناک سٹرنگ کی طرف اشارہ ہے. 824 00:36:41,010 --> 00:36:44,200 >> لہذا یہ ہو رہا ہے کہ تمام اس کوڈ میں اب تک. 825 00:36:44,200 --> 00:36:45,960 تو پھر کیا مطلب ہے؟ 826 00:36:45,960 --> 00:36:48,300 ہم ان دو مسائل کو کیسے ٹھیک کروں؟ 827 00:36:48,300 --> 00:36:50,870 ہم کس طرح اصل ڈور کا موازنہ کرتے ہیں؟ 828 00:36:50,870 --> 00:36:53,720 >> ویسے intuitively، کس طرح کرے گا تم دونوں کا موازنہ کے بارے میں 829 00:36:53,720 --> 00:36:55,090 سچ مساوات کے لئے ڈور؟ 830 00:36:55,090 --> 00:36:58,920 831 00:36:58,920 --> 00:37:00,750 >> اسکا کیا مطلب ہے اگر دو ڈور برابر ہیں؟ 832 00:37:00,750 --> 00:37:04,330 واضح طور پر نہیں ان کے پتے ہیں کہ ایک کم ہے کیونکہ، میموری میں برابر 833 00:37:04,330 --> 00:37:06,590 سطح پر عمل درآمد کی تفصیلات. 834 00:37:06,590 --> 00:37:08,360 تمام حروف ایک ہی ہیں. 835 00:37:08,360 --> 00:37:12,810 تو مجھے تجویز کرتے ہیں، اور میرا تعارف دو compare.c کے ورژن میں سے ایک میں 836 00:37:12,810 --> 00:37:14,970 یہاں، تو موازنہ-1.c. 837 00:37:14,970 --> 00:37:19,590 >> ہم اب بھی ایک ملے کہ مجھے تجویز کرتے ہیں ے کہا جاتا پوئینٹر، اور اس میں اسٹور 838 00:37:19,590 --> 00:37:20,610 حاصل سٹرنگ کی قدر واپس. 839 00:37:20,610 --> 00:37:21,750 T کے ساتھ ایک ہی کام کرتے ہیں کی. 840 00:37:21,750 --> 00:37:23,230 تو کوڈ میں سے کوئی بھی مختلف ہے. 841 00:37:23,230 --> 00:37:25,420 میں تھوڑا شامل کرنے کے لئے جا رہا ہوں اب کی جانچ پڑتال مزید خرابی. 842 00:37:25,420 --> 00:37:29,390 تو اب ہم واپس چھیلنے کی طرح ہو کیا ایک تار کے CS50 میں اس تہوں 843 00:37:29,390 --> 00:37:33,520 اصل میں ہے، ہم زیادہ مقعد ہونے کی ضرورت اس بات کا یقین کرنے کے بارے میں ہم غلط استعمال نہیں کرتے 844 00:37:33,520 --> 00:37:35,330 شہوت انگیز null طرح باطل اقدار. 845 00:37:35,330 --> 00:37:36,440 >> تو میں صرف چیک کرنے کے لئے جا رہا ہوں. 846 00:37:36,440 --> 00:37:41,490 کے برابر شہوت انگیز null نہیں کرتا اور ٹی نہیں کرتا تو برابر شہوت انگیز null، کہ ہم ٹھیک ہو کا مطلب ہے. 847 00:37:41,490 --> 00:37:44,460 سٹرنگ ہو رہی بگاڑ نہیں کیا ہو یا تو ان ڈور کی. 848 00:37:44,460 --> 00:37:51,270 اور تم شاید اب اندازہ لگا سکتا ہوں کیا STR CMP شاید کرتا ہے؟ 849 00:37:51,270 --> 00:37:52,000 سلک کا آپس میں موازنہ. 850 00:37:52,000 --> 00:37:55,470 >> تم سے پہلے جاوا میں پروگرام ہے اگر ایسا ہے تو اس میں برابر کے طریقہ کار کی طرح ہے 851 00:37:55,470 --> 00:37:56,490 سٹرنگ کلاس. 852 00:37:56,490 --> 00:37:57,890 لیکن نہیں ہے جو تم میں سے ان لوگوں کے لئے اس سے پہلے کہ پروگرام، 853 00:37:57,890 --> 00:37:59,320 یہ صرف ایک سی تقریب ہے. 854 00:37:59,320 --> 00:38:02,180 یہ ایک میں آنے کے لئے ہوتا ہے فائل string.h ملاقات کی. 855 00:38:02,180 --> 00:38:03,830 اس کا اعلان کر دیا ہے جہاں ہے. 856 00:38:03,830 --> 00:38:05,110 >> اور سٹرنگ کا آپس میں موازنہ - 857 00:38:05,110 --> 00:38:07,530 میں واقعی میں اس کے استعمال کو بھول جاؤ، لیکن اس سے کوئی بات نہیں. 858 00:38:07,530 --> 00:38:10,470 ہم کر سکتے ہیں کہ یاد آدمی، کا آپس میں موازنہ ہلچل. 859 00:38:10,470 --> 00:38:12,590 اور یہ پرورش کی جا رہی ہے لینکس پروگرامرز دستی. 860 00:38:12,590 --> 00:38:14,060 اور یہ واضح طور سے، ایک چھوٹا سا خفیہ ہے. 861 00:38:14,060 --> 00:38:15,270 لیکن میں نے جی ہاں، کہ یہاں دیکھ سکتے ہیں. 862 00:38:15,270 --> 00:38:17,570 میں string.h شامل کرنے کے لئے ہے. 863 00:38:17,570 --> 00:38:20,590 >> اور یہ "، وضاحت کے تحت یہاں لکھا ہے سٹرنگ کا آپس میں موازنہ تقریب کا موازنہ 864 00:38:20,590 --> 00:38:24,560 دو ڈور S1 اور S2. "اور S1 اور S2 بظاہر دو ہیں 865 00:38:24,560 --> 00:38:26,120 دلائل رکنیت منظور 866 00:38:26,120 --> 00:38:28,650 مجھے سچ میں یاد نہیں ہے کیا CONST ہے، لیکن اب کا نوٹس - 867 00:38:28,650 --> 00:38:31,480 کب اور آپ پہلے سے ہی یہ دیکھا ہے ہو سکتا ہے تم انسان کے صفحات کا استعمال کرتے ہے اگر آپ 868 00:38:31,480 --> 00:38:32,390 یہ سب ہے - 869 00:38:32,390 --> 00:38:36,220 کہ چار ستارہ صرف مترادف ہے تار کے ساتھ. 870 00:38:36,220 --> 00:38:40,440 >> تو یہ دو ڈور، S1 کا موازنہ اور S2، اور یہ کم ایک عدد صحیح واپس 871 00:38:40,440 --> 00:38:44,930 سے زیادہ یا برابر یا صفر سے زیادہ S1 پایا جاتا ہے، اگر بالترتیب ہونا 872 00:38:44,930 --> 00:38:47,450 سے بھی کم، یا مطابقت، یا S2 سے زیادہ ہونا. 873 00:38:47,450 --> 00:38:51,220 یہ صرف کہنے کا ایک بہت پیچیدہ طریقہ ہے کہ سٹرنگ کی واپسی کا موازنہ 874 00:38:51,220 --> 00:38:55,760 صفر دو ڈور intuitively ہیں تو کے لئے ایک جیسی، کردار 875 00:38:55,760 --> 00:38:57,120 کردار کے لئے کردار. 876 00:38:57,120 --> 00:38:59,970 >> یہ ایک منفی نمبر اگر واپس S، حروف تہجی، سمجھا جاتا ہے 877 00:38:59,970 --> 00:39:01,010 T سے پہلے آنے کے لئے. 878 00:39:01,010 --> 00:39:05,300 یا ایک مثبت تعداد اگر واپس ایس ٹی کے بعد آنے والی ہے 879 00:39:05,300 --> 00:39:06,170 حروف تہجی کے. 880 00:39:06,170 --> 00:39:08,360 تو اس سادہ تقریب کے ساتھ، سکتا اگر آپ مثال کے طور پر، ایک طرح 881 00:39:08,360 --> 00:39:09,770 الفاظ کے پورے گچرچھی؟ 882 00:39:09,770 --> 00:39:13,984 >> تو اس نئے ورژن میں، میں جا رہا ہوں آگے بڑھو اور compare1 بنانے کے لئے. 883 00:39:13,984 --> 00:39:15,750 ڈاٹ سلیش ایک کا آپس میں موازنہ. 884 00:39:15,750 --> 00:39:18,030 میں نے تمام کم کیس میں خوش میں ٹائپ کریں گے. 885 00:39:18,030 --> 00:39:20,300 میں نے ہیلو میں ٹائپ کرنے کے لئے جا رہا ہوں پھر تمام خفی میں. 886 00:39:20,300 --> 00:39:23,340 اور شکر ہے اب یہ احساس میں بھی وہی ٹائپ. 887 00:39:23,340 --> 00:39:27,520 >> دریں اثنا، تو میں زیریں میں خوش میں ٹائپ کریں کیس اور اوپری کیس میں ہیلو اور 888 00:39:27,520 --> 00:39:29,710 ان کا آپس میں موازنہ، میں ٹائپ دونوں مختلف چیزیں ہیں. 889 00:39:29,710 --> 00:39:32,530 نہ صرف کیونکہ پتے ہیں مختلف، لیکن ہم آپس میں موازنہ کر رہے ہیں 890 00:39:32,530 --> 00:39:35,350 بار بار مختلف حروف. 891 00:39:35,350 --> 00:39:37,320 >> ٹھیک ہے کی ایک جاؤ اور ٹھیک کرنے دو اب دوسری مسئلہ. 892 00:39:37,320 --> 00:39:41,590 میرے ورژن ایک کھول دو اب سے خطاب، جس کی کاپی، 893 00:39:41,590 --> 00:39:42,900 اس مسئلے کے طور پر مندرجہ ذیل ہے. 894 00:39:42,900 --> 00:39:45,650 اور یہ ایک نظر جا رہا ہے تھوڑا سا زیادہ پیچیدہ. 895 00:39:45,650 --> 00:39:49,320 لیکن تم کیا مسئلہ کے بارے میں سوچنا تو ہم کو حل کرنے کی ضرورت ہے، امید ہے کہ یہ ہو جائے گا 896 00:39:49,320 --> 00:39:51,870 اب صرف ایک لمحے میں صاف کریں. 897 00:39:51,870 --> 00:39:57,280 >> تو یہ پہلی سطر، چار آغاز T، میں عام آدمی کی شرائط کسی تجویز کر سکتے ہیں 898 00:39:57,280 --> 00:39:59,450 یہ لکیر یہاں کیا مطلب ہے؟ 899 00:39:59,450 --> 00:40:01,050 چار اسٹار ٹی، کر رہے ہیں وہ کیا ہے؟ 900 00:40:01,050 --> 00:40:06,660 901 00:40:06,660 --> 00:40:07,210 >> اچھا ہے. 902 00:40:07,210 --> 00:40:09,500 کچھ کرنے کے لئے ایک پوائنٹر بنائیں یاد میں جگہ. 903 00:40:09,500 --> 00:40:10,930 اور مجھے یہ تھوڑا سا بہتر ہیں. 904 00:40:10,930 --> 00:40:17,180 ذخیرہ گے کہ ایک متغیر کا اعلان میموری میں کچھ چار کا پتہ، صرف 905 00:40:17,180 --> 00:40:18,480 تھوڑا زیادہ مناسب ہو. 906 00:40:18,480 --> 00:40:21,210 >> ٹھیک ہے، تو اب دائیں ہاتھ کی طرف پر، میں نے ان افعال میں سے ایک کبھی نہیں دیکھا 907 00:40:21,210 --> 00:40:22,660 اس سے پہلے، malloc. 908 00:40:22,660 --> 00:40:26,980 لیکن اس کا کیا مطلب ہو سکتا ہے؟ 909 00:40:26,980 --> 00:40:28,050 میموری کی ایلوکیشن. 910 00:40:28,050 --> 00:40:29,410 میموری تین ہلاک. 911 00:40:29,410 --> 00:40:33,050 >> تو یہ ہم اب تک اپ، باہر کر دیتا ہے واقعی کا ایک طاقتور طریقہ نہیں کھایا ہے 912 00:40:33,050 --> 00:40:36,210 آپریٹنگ سسٹم پوچھ، مجھے کچھ یاد دے. 913 00:40:36,210 --> 00:40:39,980 بلکہ، اب ہم سے ملاقات کی ایک تقریب ہے بالکل ویسا کرتا ہے malloc. 914 00:40:39,980 --> 00:40:42,960 یہ تھوڑا سا ہے اگرچہ تباہی ابھی، نوٹس میں ہے کہ 915 00:40:42,960 --> 00:40:46,200 دو قوسین کے درمیان ہے صرف ایک بڑی تعداد ہونے جا رہا. 916 00:40:46,200 --> 00:40:48,510 میں نے سوال میں ٹائپ ہے کہاں نمبروں کی ایک بڑی تعداد ہو سکتی ہے. 917 00:40:48,510 --> 00:40:51,020 >> اور اس تعداد کا مطلب ہے کہ مجھے 10 بائٹس دے. 918 00:40:51,020 --> 00:40:52,320 مجھے 20 بائٹس دیں. 919 00:40:52,320 --> 00:40:53,820 مجھے 100 بائٹس دیں. 920 00:40:53,820 --> 00:40:56,500 اور malloc کے لئے اپنی پوری کوشش کروں گا آپریٹنگ سسٹم سے دعا گو ہیں - 921 00:40:56,500 --> 00:40:57,630 اس کیس میں لینکس، - 922 00:40:57,630 --> 00:40:59,630 ارے، ان کے 100 بائٹس ہیں دستیاب RAM کے؟ 923 00:40:59,630 --> 00:41:04,320 اگر ایسا ہے تو نے مجھے ان بائٹس واپس جن میں سے کا پتہ آرہے ہیں 924 00:41:04,320 --> 00:41:06,610 شاید ان بائٹس،؟ 925 00:41:06,610 --> 00:41:07,610 ایک بہت پہلے. 926 00:41:07,610 --> 00:41:10,460 >> تو یہاں بھی - اور یہ اہم ہے سی، تم کسی بھی وقت میں 927 00:41:10,460 --> 00:41:11,680 پتوں کے ساتھ نمٹنے؟ 928 00:41:11,680 --> 00:41:15,830 آپ نے تقریبا ہمیشہ سے نمٹنے کر رہے ہیں سب سے پہلے اس طرح پتہ، کوئی بات نہیں کتنا بڑا 929 00:41:15,830 --> 00:41:19,490 آپ کو کیا جا رہا ہے میموری کا ایک حصہ ، تو بات کرنے کو واپس حوالے کر دیا. 930 00:41:19,490 --> 00:41:20,880 >> تو چلو یہاں میں گوتا لگا. 931 00:41:20,880 --> 00:41:23,940 میں کس طرح مختص کرنے کی کوشش کر رہا ہوں کئی بائٹس، بالکل؟ 932 00:41:23,940 --> 00:41:24,080 ٹھیک ہے. 933 00:41:24,080 --> 00:41:26,090 ے کی سلک کی لمبائی - چلو ایک ٹھوس مثال کے طور پر کرتے ہیں. 934 00:41:26,090 --> 00:41:30,700 ے خوش ہے تو ایچ ای ایل ایل اے، کیا ہے ے کی سٹرنگ کی لمبائی، ظاہر ہے؟ 935 00:41:30,700 --> 00:41:32,010 تو یہ پانچ ہے. 936 00:41:32,010 --> 00:41:34,590 لیکن میں، کیوں کہ اس پر ایک پلس 1 کر رہا ہوں؟ 937 00:41:34,590 --> 00:41:37,700 کیوں میں نے چھ رائج کرنا چاہتے ہیں بجائے پانچ؟ 938 00:41:37,700 --> 00:41:38,790 شہوت انگیز null کردار. 939 00:41:38,790 --> 00:41:41,210 >> میں اس سے دور چھوڑ نہیں کرنا چاہتا خصوصی کردار شہوت انگیز null. 940 00:41:41,210 --> 00:41:45,160 کیونکہ میں خوش کی نقل بنانے اور اگر صرف ایچ ای ایل ایل اے کروں، لیکن میں نہ ڈالو 941 00:41:45,160 --> 00:41:50,160 کہ خصوصی حروف، کمپیوٹر موقع، ایک الٹا سلیش کی طرف سے، نہیں کر سکتے ہیں 942 00:41:50,160 --> 00:41:51,730 میرے لئے وہاں صفر. 943 00:41:51,730 --> 00:41:55,570 اور اس طرح میں نے پتہ لگانے کی کوشش کر رہی ہوں تو کاپی کی لمبائی، مجھے لگتا ہے کہ ہو سکتا ہے 944 00:41:55,570 --> 00:41:59,360 یہ 20 حروف طویل ہے، یا ایک لاکھ میں صرف ایسا کبھی نہیں اگر طویل حروف 945 00:41:59,360 --> 00:42:01,050 ایک الٹا سلیش صفر مارا. 946 00:42:01,050 --> 00:42:05,780 >> تو ہم چھ بائٹس ذخیرہ کرنے کے لئے کی ضرورت ہے ایچ ای ایل ایل اے، الٹا سلیش صفر. 947 00:42:05,780 --> 00:42:07,870 اور پھر یہ صرف ہے سپر مقعد ہو. 948 00:42:07,870 --> 00:42:10,700 میں بھول گیا کہ فرض کیا ایک چار کے برابر ہے. 949 00:42:10,700 --> 00:42:12,020 ہم اس کی ایک بائٹ کہہ رکھنا. 950 00:42:12,020 --> 00:42:12,860 اور یہ عام طور پر ہے. 951 00:42:12,860 --> 00:42:15,425 اصول میں، یہ کچھ ہو سکتا ہے ایک مختلف میک یا ایک پر، مختلف 952 00:42:15,425 --> 00:42:16,250 مختلف پی سی کے. 953 00:42:16,250 --> 00:42:19,650 >> اس آپریٹر کی ہے تو یہ باہر کر دیتا ہے sizeof کہا جاتا ہے کہ تم اس کے پاس تو 954 00:42:19,650 --> 00:42:22,680 ایک ڈیٹا کی قسم کا نام - کی طرح چار، یا INT، یا فلوٹ - 955 00:42:22,680 --> 00:42:26,930 یہ کتنے، کو متحرک طور پر، آپ کو بتائے گا رائج ایک چار اس پر لیتا 956 00:42:26,930 --> 00:42:28,090 خاص طور پر کمپیوٹر. 957 00:42:28,090 --> 00:42:31,360 >> تو یہ مؤثر طریقے سے صرف یہ ہے اوقات 1 یا کہہ طرح 958 00:42:31,360 --> 00:42:32,440 بالکل اوقات کچھ بھی نہیں. 959 00:42:32,440 --> 00:42:36,340 لیکن میں، صرف سپر مقعد ہونا یہ کر رہا ہوں صرف میں کیس ایک چار مختلف ہے کہ 960 00:42:36,340 --> 00:42:40,610 آپ کے کمپیوٹر کے مقابلے میں میری، اس طرح پر ریاضی ہمیشہ چیک کرنے کے لیے جا رہی ہے. 961 00:42:40,610 --> 00:42:43,720 >> آخر میں، یہاں ذیل میں، شہوت انگیز null کے لئے چیک جو ہمیشہ اچھی پریکٹس ہے - ایک بار پھر، 962 00:42:43,720 --> 00:42:44,920 ہم اشارہ کے ساتھ نمٹنے کر رہے ہیں کسی بھی وقت. 963 00:42:44,920 --> 00:42:47,520 malloc دینے کے قابل نہیں تھی تو مجھے چھ byes - ہے جو 964 00:42:47,520 --> 00:42:49,210 امکان نہیں، لیکن صرف میں کیس - 965 00:42:49,210 --> 00:42:50,730 فوری طور پر ایک واپس. 966 00:42:50,730 --> 00:42:53,290 اور اب، آگے بڑھو اور کاپی سٹرنگ کے طور پر مندرجہ ذیل ہے. 967 00:42:53,290 --> 00:42:57,240 اور یہ، واقف نحو ہے ایک مختلف کردار میں اگرچہ. 968 00:42:57,240 --> 00:43:01,210 >> میں آگے بڑھو اور سٹرنگ حاصل کرنے کے لئے جا رہا ہوں ے کی لمبائی اور (ن) میں سٹور. 969 00:43:01,210 --> 00:43:06,620 میں تو مجھے برابر سے iterate کرنے جا رہا ہوں ، اور (ن) سمیت اپ صفر 970 00:43:06,620 --> 00:43:08,410 سے بڑا یا برابر. 971 00:43:08,410 --> 00:43:13,540 ہر iteration پر، میں ڈال دیا تاکہ ith میں ے کی ith کردار 972 00:43:13,540 --> 00:43:15,380 T کے کردار. 973 00:43:15,380 --> 00:43:18,190 >> تو کیا واقعی نیچے ہو رہا ہے یہاں ہڈ؟ 974 00:43:18,190 --> 00:43:22,140 اچھی بات یہ ہے کہ اگر مثال کے طور پر کی ہے - 975 00:43:22,140 --> 00:43:26,400 اور میں نے لفظ ایچ ای ایل ایل اے میں ٹائپ ہے اور ایک الٹا سلیش صفر ہے. 976 00:43:26,400 --> 00:43:29,020 اور پھر، اس کے یہاں کی طرف اشارہ ہے. 977 00:43:29,020 --> 00:43:30,830 اور یہاں اب T ہے. 978 00:43:30,830 --> 00:43:34,860 >> اور یہ اب کی طرف اشارہ کیا جاتا ہے میموری کی ایک کاپی، ہے نا؟ 979 00:43:34,860 --> 00:43:37,340 Malloc مجھے ایک پوری دیا ہے میموری کا حصہ. 980 00:43:37,340 --> 00:43:41,440 میں ہے کہ ابتدائی طور پر پتہ نہیں کیا ان مقامات میں سے کسی میں. 981 00:43:41,440 --> 00:43:44,340 تو میں نے ان کے طور پر کے بارے میں سوچنا کرنے جا رہا ہوں سوال نمبروں کے پورے گچرچھی. 982 00:43:44,340 --> 00:43:50,190 >> لیکن جیسے ہی میں شروع کے طور پر صفر سے looping S، T کی لمبائی کے ذریعے اپ پر 983 00:43:50,190 --> 00:43:52,790 بریکٹ صفر اور ٹی بریکٹ 1 - 984 00:43:52,790 --> 00:43:55,080 اور اب میں یہ ڈال دیتا ہوں اور ہیڈ پر - 985 00:43:55,080 --> 00:44:04,190 T بریکٹ صفر اور S بریکٹ صفر کا مطلب میں کاپی کیا جا جا رہا ہوں کہ 986 00:44:04,190 --> 00:44:09,875 یہاں iteratively H، ای ایل ایل اے. پلس پلس میں، کیا وجہ 987 00:44:09,875 --> 00:44:12,370 1، الٹا سلیش صفر. 988 00:44:12,370 --> 00:44:19,060 >> تو اب موازنہ-1.c کی صورت میں، آخر میں، میں باہر پرنٹ اگر 989 00:44:19,060 --> 00:44:24,760 T کے بڑے حروف تہجی، ہمیں چاہئے ے کوئی تبدیلی نہیں کی ہے کہ دیکھتے ہیں. 990 00:44:24,760 --> 00:44:26,090 مجھے اب آگے بڑھو اور اس کے کرتے ہیں. 991 00:44:26,090 --> 00:44:28,630 تو copy1 بناتے ہیں. 992 00:44:28,630 --> 00:44:30,860 ڈاٹ سلیش copy1. 993 00:44:30,860 --> 00:44:33,670 میں نے ہیلو، درج کریں میں ٹائپ کرنے کے لئے جا رہا ہوں. 994 00:44:33,670 --> 00:44:37,430 اور اب، صرف نقل نوٹس بڑا کر دیا گیا ہے. 995 00:44:37,430 --> 00:44:40,890 میں واقعی ہے کیونکہ دو میموری کی مقدار. 996 00:44:40,890 --> 00:44:44,390 >> بدقسمتی سے، آپ کو کچھ خوبصورت کر سکتے ہیں یہاں برا اور خوبصورت خطرناک چیزیں. 997 00:44:44,390 --> 00:44:49,290 اب مجھے یہاں ایک مثال ھیںچو کرتے ہیں، کہ ہم چند ایک کی ایک مثال دیتا ہے 998 00:44:49,290 --> 00:44:51,540 مختلف لائنوں. 999 00:44:51,540 --> 00:44:56,040 تو صرف intuitively یہاں، پہلی سطر کوڈ کا، INT اسٹار X، قرار دیا ہے 1000 00:44:56,040 --> 00:44:57,340 ایکس نامی ایک متغیر. 1001 00:44:57,340 --> 00:44:58,810 اور اعداد و شمار کی قسم کیا ہے کہ متغیر کی؟ 1002 00:44:58,810 --> 00:45:01,820 1003 00:45:01,820 --> 00:45:04,290 اس متغیر کے اعداد و شمار کی قسم کیا ہے؟ 1004 00:45:04,290 --> 00:45:06,980 کہ cliffhanger نہیں تھا. 1005 00:45:06,980 --> 00:45:08,350 >> اعداد و شمار کی قسم INT ستارہ ہے. 1006 00:45:08,350 --> 00:45:12,600 تو اس کا کیا مطلب ہے؟ X گے ایک INT کا پتہ سٹور. 1007 00:45:12,600 --> 00:45:13,520 کہ کے طور پر آسان ہے. 1008 00:45:13,520 --> 00:45:16,220 Y ذخیرہ کرنے کے لئے جا رہی ہے ایک INT کا ایڈریس. 1009 00:45:16,220 --> 00:45:18,390 تیسری لائن کیا ہے کوڈ کا وہاں کیا کر رہے؟ 1010 00:45:18,390 --> 00:45:21,850 یہ مختص ہے کتنے بائٹس، سب سے زیادہ امکان؟ 1011 00:45:21,850 --> 00:45:22,350 چار. 1012 00:45:22,350 --> 00:45:25,460 کیونکہ ایک INT کے سائز کا ہے عام طور پر چار، چار malloc دیتا ہے 1013 00:45:25,460 --> 00:45:29,950 میرا ایک حصہ کا پتہ واپس میموری، جس بائٹس کی پہلی ہے 1014 00:45:29,950 --> 00:45:32,110 X میں اب ذخیرہ. 1015 00:45:32,110 --> 00:45:34,410 >> اب ہم جلدی سے تھوڑا جا رہے ہیں. 1016 00:45:34,410 --> 00:45:35,760 سٹار ایکس کا مطلب کیا ہے؟ 1017 00:45:35,760 --> 00:45:38,480 1018 00:45:38,480 --> 00:45:42,590 یہ اس ایڈریس پر جانے کا مطلب ہے کہ اور کیا وہاں تعداد میں ڈال دیا؟ 1019 00:45:42,590 --> 00:45:43,870 تعداد وہاں 42 رکھو. 1020 00:45:43,870 --> 00:45:47,590 سٹار Y Y میں کیا ہے پر جانے کا مطلب ہے کہ اور وہاں تعداد 13 ڈال دیا. 1021 00:45:47,590 --> 00:45:48,600 >> لیکن ایک منٹ رکو. 1022 00:45:48,600 --> 00:45:51,640 اس وقت Y میں کیا ہے؟ 1023 00:45:51,640 --> 00:45:54,950 کیا ایڈریس Y محفوظ ہے؟ 1024 00:45:54,950 --> 00:45:55,770 ہم نہیں جانتے؟ 1025 00:45:55,770 --> 00:45:59,230 ہم ایک بار تفویض کا استعمال کرتے ہیں کبھی نہیں Y شامل آپریٹر. 1026 00:45:59,230 --> 00:46:03,370 تو Y کے طور پر کی دوسری لائن پر اعلان کر دیا کوڈ کو صرف کچھ ردی کی قیمت، ایک بڑا ہے 1027 00:46:03,370 --> 00:46:04,760 سوالیہ نشان تو بات کرنے کے لئے. 1028 00:46:04,760 --> 00:46:07,230 یہ تصادفی کی طرف اشارہ کیا جا سکتا ہے یاد میں کچھ بھی کرنے کے لئے، جس میں 1029 00:46:07,230 --> 00:46:08,340 عام طور پر خراب ہے. 1030 00:46:08,340 --> 00:46:13,540 >> تو جیسے ہی ہم وہاں اس لائن کو مارا کے طور پر ستارہ Y،، کچھ برا 13 برابر 1031 00:46:13,540 --> 00:46:17,220 بہت برا کچھ کے بارے میں ہے Binky ہونے. 1032 00:46:17,220 --> 00:46:25,810 تو اپ ختم کرنے کے لئے کیا ہو رہا ہے دیکھتے ہیں یہ منٹ میں یہاں Binky ہو 1033 00:46:25,810 --> 00:46:26,200 یا تو نظر آتے ہیں. 1034 00:46:26,200 --> 00:46:26,490 >> [ویڈیو پلے بیک] 1035 00:46:26,490 --> 00:46:26,745 >> -ارے، Binky. 1036 00:46:26,745 --> 00:46:27,000 اٹھو. 1037 00:46:27,000 --> 00:46:29,296 یہ پوائنٹر تفریح ​​کے لئے وقت ہے. 1038 00:46:29,296 --> 00:46:30,680 >> کیا ہے؟ 1039 00:46:30,680 --> 00:46:31,980 اشارہ کے بارے میں جانیں؟ 1040 00:46:31,980 --> 00:46:34,010 اوہ، goodie. 1041 00:46:34,010 --> 00:46:37,220 >> -ٹھیک ہے، شروع کرنے کے لئے، میں ہم اندازہ لگا ایک جوڑے کے اشارہ کی ضرورت پڑے گی. 1042 00:46:37,220 --> 00:46:37,930 >> -ٹھیک ہے. 1043 00:46:37,930 --> 00:46:41,650 اس کوڈ کو دو اشارہ مختص جس integers کی طرف اشارہ کر سکتے ہیں. 1044 00:46:41,650 --> 00:46:43,760 >> -ٹھیک ہے، ٹھیک ہے، میں نے دو اشارہ دیکھتے ہیں. 1045 00:46:43,760 --> 00:46:45,850 لیکن وہ نہیں لگتے ہیں کسی بھی چیز کی طرف اشارہ. 1046 00:46:45,850 --> 00:46:46,490 >> -یہ ٹھیک ہے. 1047 00:46:46,490 --> 00:46:48,630 ابتدائی طور پر، اشارہ نہیں کرتے کسی بھی چیز کی طرف اشارہ. 1048 00:46:48,630 --> 00:46:51,700 وہ کی طرف اشارہ چیزوں کو کہا جاتا ہے pointees، اور اپ ان کی ترتیب ہے ایک 1049 00:46:51,700 --> 00:46:52,850 علیحدہ قدم ہے. 1050 00:46:52,850 --> 00:46:53,740 >> اوہ، ٹھیک ہے، ٹھیک ہے. 1051 00:46:53,740 --> 00:46:54,500 مجھے پتہ تھا. 1052 00:46:54,500 --> 00:46:56,270 pointees الگ ہیں. 1053 00:46:56,270 --> 00:46:58,553 تو کس طرح آپ کو ایک pointee مختص کرتے ہیں؟ 1054 00:46:58,553 --> 00:46:59,480 >> -ٹھیک ہے. 1055 00:46:59,480 --> 00:47:03,707 ٹھیک ہے، اس کوڈ کو ایک نئے integers مختص pointee، اور یہ حصہ ایکس کا تعین کرتا ہے 1056 00:47:03,707 --> 00:47:05,520 اس کی طرف اشارہ کرنے کے لئے. 1057 00:47:05,520 --> 00:47:06,760 >> -ارے، وہ بہتر لگ رہا ہے. 1058 00:47:06,760 --> 00:47:08,520 تو یہ کچھ کر بناتے ہیں. 1059 00:47:08,520 --> 00:47:09,530 >> -ٹھیک ہے. 1060 00:47:09,530 --> 00:47:14,110 میں dereference پوائنٹر X ذخیرہ کرنے کے لئے کروں گا اس pointee میں نمبر 42. 1061 00:47:14,110 --> 00:47:17,660 یہ چال کے لئے، میں نے اپنے جادو کی ضرورت ہوگی محولہ لقب ضبطی کی چھڑی. 1062 00:47:17,660 --> 00:47:20,695 >> محولہ لقب ضبطی کی آپ جادو کی چھڑی؟ 1063 00:47:20,695 --> 00:47:22,632 اہ، یہ تو بہت اچھا ہے. 1064 00:47:22,632 --> 00:47:24,620 >> -یہ کوڈ کی طرح لگتا ہے. 1065 00:47:24,620 --> 00:47:27,526 میں صرف تعداد قائم کی اور کریں گے - 1066 00:47:27,526 --> 00:47:28,250 >> -ارے، دیکھو. 1067 00:47:28,250 --> 00:47:29,680 وہاں جاتا ہے. 1068 00:47:29,680 --> 00:47:34,520 تو X مندرجہ ذیل پر ایک dereference کر اس pointee تک رسائی کے لئے تیر. 1069 00:47:34,520 --> 00:47:36,690 اس صورت میں، وہاں 42 ذخیرہ کرنے کے لئے. 1070 00:47:36,690 --> 00:47:40,890 ارے، تعداد میں ذخیرہ کرنے کے لئے اس کا استعمال کرنے کی کوشش دیگر پوائنٹر کے ذریعے 13، Y. 1071 00:47:40,890 --> 00:47:42,125 >> -ٹھیک ہے. 1072 00:47:42,125 --> 00:47:46,810 میں صرف Y کرنے کے لئے یہاں جاؤ اور گے نمبر 13 قائم ہو جاتے ہیں. 1073 00:47:46,810 --> 00:47:50,890 اور اس کے بعد کی چھڑی لے محولہ لقب ضبطی اور صرف - 1074 00:47:50,890 --> 00:47:52,430 واہ! 1075 00:47:52,430 --> 00:47:53,030 >> اوہ، ارے. 1076 00:47:53,030 --> 00:47:54,610 یہ کام نہیں کیا. 1077 00:47:54,610 --> 00:47:58,200 Binky، کا کہنا ہے کہ مجھے نہیں لگتا Y محولہ لقب ضبطی، ایک اچھا خیال ہے 1078 00:47:58,200 --> 00:48:01,370 pointee قائم کرنے کی وجہ ایک علیحدہ قدم ہے. 1079 00:48:01,370 --> 00:48:03,460 اور میں ہم نے کبھی ایسا کیا نہیں لگتا. 1080 00:48:03,460 --> 00:48:03,810 >> -ہمم. 1081 00:48:03,810 --> 00:48:05,160 نقطہ اچھا ہے. 1082 00:48:05,160 --> 00:48:07,410 >> جی ہاں، ہم پوائنٹر Y مختص. 1083 00:48:07,410 --> 00:48:10,045 لیکن ہم نے اسے قائم کبھی نہیں ایک pointee کی طرف اشارہ. 1084 00:48:10,045 --> 00:48:10,490 >> -ہمم. 1085 00:48:10,490 --> 00:48:12,170 بہت اچھا مشاہدہ. 1086 00:48:12,170 --> 00:48:13,790 >> -ارے، تم تلاش کر رہے ہیں وہاں اچھا، Binky. 1087 00:48:13,790 --> 00:48:16,920 آپ Y پوائنٹس تاکہ اسے ٹھیک کر سکتے ہیں ایکس طور پر ایک ہی pointee ہے؟ 1088 00:48:16,920 --> 00:48:17,810 >> -بالکل. 1089 00:48:17,810 --> 00:48:20,300 میں اپنے جادو کی چھڑی استعمال کریں گے پوائنٹر تفویض. 1090 00:48:20,300 --> 00:48:22,240 >> ہے کہ ایک ہونے جا رہا پہلے کی طرح مسئلہ ہے؟ 1091 00:48:22,240 --> 00:48:22,665 >> -نہیں ہیں. 1092 00:48:22,665 --> 00:48:24,300 یہ pointees چھو نہیں ہے. 1093 00:48:24,300 --> 00:48:27,880 یہ صرف اشارہ ایک پوائنٹر تبدیل ایک دوسرے کے طور پر ایک ہی بات کرنے کے لئے. 1094 00:48:27,880 --> 00:48:28,970 >> اوہ، میں دیکھتا ہوں. 1095 00:48:28,970 --> 00:48:31,730 ایکس طور پر ایک ہی جگہ پر اب Y پوائنٹس. 1096 00:48:31,730 --> 00:48:32,450 تو انتظار کریں. 1097 00:48:32,450 --> 00:48:33,490 اب Y طے ہو گئی ہے. 1098 00:48:33,490 --> 00:48:34,630 یہ ایک pointee ہے. 1099 00:48:34,630 --> 00:48:36,520 تو کیا تم جادو کی چھڑی کوشش کر سکتے ہیں دوبارہ محولہ لقب ضبطی کے 1100 00:48:36,520 --> 00:48:39,200 سے زیادہ 13 بھیجنے کے لئے. 1101 00:48:39,200 --> 00:48:39,840 >> -ٹھیک ہے. 1102 00:48:39,840 --> 00:48:41,570 یہاں ہے. 1103 00:48:41,570 --> 00:48:42,870 >> -ارے، وہ دیکھو. 1104 00:48:42,870 --> 00:48:44,320 اب Y پر کام محولہ لقب ضبطی. 1105 00:48:44,320 --> 00:48:47,020 اور اشارہ اشتراک کر رہے ہیں کیونکہ کہ ایک pointee، وہ 1106 00:48:47,020 --> 00:48:48,585 دونوں 13 دیکھیں. 1107 00:48:48,585 --> 00:48:49,040 >> جی ہاں. 1108 00:48:49,040 --> 00:48:49,670 اشتراک. 1109 00:48:49,670 --> 00:48:50,380 جو کچھ بھی. 1110 00:48:50,380 --> 00:48:52,290 تو کیا اب ہم سوئچ مقامات پر جا رہے ہیں؟ 1111 00:48:52,290 --> 00:48:52,970 >> اوہ، دیکھو. 1112 00:48:52,970 --> 00:48:54,150 ہم وقت سے باہر ہیں. 1113 00:48:54,150 --> 00:48:55,200 >> لیکن - 1114 00:48:55,200 --> 00:48:57,060 >> -صرف تین یاد پوائنٹر قوانین. 1115 00:48:57,060 --> 00:49:00,100 نمبر ایک، بنیادی ڈھانچے آپ کو ایک پوائنٹر ہے کہ ہے. 1116 00:49:00,100 --> 00:49:02,170 اور یہ ایک pointee کے دکھاتا ہے. 1117 00:49:02,170 --> 00:49:04,160 لیکن پوائنٹر اور pointee الگ ہیں. 1118 00:49:04,160 --> 00:49:06,460 اور عام غلطی ہے ایک پوائنٹر قائم، لیکن 1119 00:49:06,460 --> 00:49:08,540 ایک pointee دیا بھولنا. 1120 00:49:08,540 --> 00:49:12,460 >> نمبر دو، پوائنٹر محولہ لقب ضبطی شروع ہوتا ہے پوائنٹر میں اور اس کے مندرجہ ذیل ہے 1121 00:49:12,460 --> 00:49:14,570 تیر کے نشان پر اپنی pointee تک رسائی حاصل کرنے کے لئے. 1122 00:49:14,570 --> 00:49:18,640 ہم سب جانتے ہیں کے طور پر، یہ صرف کام کرتا ہے اگر وہاں واپس ہو جاتا ہے جس کی وجہ سے pointee ہے، 1123 00:49:18,640 --> 00:49:19,790 نمبر ایک راج. 1124 00:49:19,790 --> 00:49:23,670 >> نمبر تین، پوائنٹر تفویض لیتا ہے ایک پوائنٹر اور تبدیلیاں اس کی طرف اشارہ کرنے کے لئے 1125 00:49:23,670 --> 00:49:25,850 ایک اور پوائنٹر طور پر ایک ہی pointee. 1126 00:49:25,850 --> 00:49:27,840 تو تفویض کے بعد، دو اشارہ کریں گے 1127 00:49:27,840 --> 00:49:29,430 اسی pointee کی طرف اشارہ. 1128 00:49:29,430 --> 00:49:31,600 کبھی کبھی اس اشتراک کہا جاتا ہے. 1129 00:49:31,600 --> 00:49:33,430 اور یہ کہ سچ میں، یہ وہاں ہے ہی. 1130 00:49:33,430 --> 00:49:33,840 اب الوداع. 1131 00:49:33,840 --> 00:49:34,300 >> [END ویڈیو پلے بیک] 1132 00:49:34,300 --> 00:49:36,940 >> DAVID MALAN: اشارہ پر اتنا زیادہ، Binky اگلے ہفتے میں مزید. 1133 00:49:36,940 --> 00:49:38,190 ہم پیر کو نظر آئے گا. 1134 00:49:38,190 --> 00:49:42,187