1 00:00:00,000 --> 00:00:02,742 2 00:00:02,742 --> 00:00:05,680 >> اسپیکر 1: ہیلو سب. 3 00:00:05,680 --> 00:00:07,530 ہم شروع کرنے کے لئے جا رہے ہیں. 4 00:00:07,530 --> 00:00:09,330 میں نے لوگوں کو اب بھی جا رہے ہیں لگتا ہے میں فلٹر کرنے کے لئے. 5 00:00:09,330 --> 00:00:12,840 لیکن وقت کے مفاد میں، ہم کر سکتے ہیں تو وقت پر یہاں سے باہر لوگ آپ کو حاصل، 6 00:00:12,840 --> 00:00:14,110 ہم شروع کرنے کے لئے جا رہے ہیں. 7 00:00:14,110 --> 00:00:18,780 تو CS50 کوئز 0 جائزہ لینے کے لئے خوش آمدید. 8 00:00:18,780 --> 00:00:23,020 احساس نہیں ہے جو تم میں سے ان لوگوں کے لئے ابھی تک، آپ نے بدھ کے روز ایک سوال ہے. 9 00:00:23,020 --> 00:00:25,700 وو ہو. 10 00:00:25,700 --> 00:00:29,780 >> آپ نے ابھی تک تعلیم حاصل کرنے شروع نہیں ہے یا اگر یہ ابھی تک موجود ہے اس بات کا احساس نہیں ہے، 11 00:00:29,780 --> 00:00:34,070 ماضی quizzes اور سب کے بارے میں معلومات آپ کے کوئز cs50.net/quizzes پر ہیں. 12 00:00:34,070 --> 00:00:38,090 کچھ بہت اچھی چیزیں وہاں پر نہیں ہے، 10 آخری سے ماضی میں quizzes 13 00:00:38,090 --> 00:00:43,760 سال کے طور پر اچھی طرح سے کے طور پر کے بارے میں معلومات اس کوئز اور موضوعات کے بارے میں 14 00:00:43,760 --> 00:00:46,250 کہ شامل کیا جائے گا. 15 00:00:46,250 --> 00:00:48,980 تو شروع کرنے کے دو. 16 00:00:48,980 --> 00:00:54,240 >> تو تم لوگ، سب سے پہلے یاد کر سکتے ہیں کلاس داؤد کے دن ان کے لیمپ پر تھا. 17 00:00:54,240 --> 00:00:59,650 تو بنیادی طور پر، سب کچھ ہے کہ ایک کمپیوٹر کے ہڈ کے تحت پر 18 00:00:59,650 --> 00:01:00,860 بائنری میں کیا. 19 00:01:00,860 --> 00:01:04,080 ثنائی یہ لگتا ہے کیا مطلب ہے کی طرح، 0 اور 1 کی. 20 00:01:04,080 --> 00:01:09,290 یہ دو اقدار ہے کہ نمائندگی کیا جا سکتا. 21 00:01:09,290 --> 00:01:14,675 >> تو سیکشن کے پہلے دن کی طرح ڈیوڈ ایک روشنی پر دیا گیا ہے جب 22 00:01:14,675 --> 00:01:21,990 بلب، ہمارے کمپیوٹر پر کی نمائندگی کرتے ہیں، یا 1 سمجھتا ہے 0 کے طور پر بائنری اور 23 00:01:21,990 --> 00:01:24,110 1، یا بند. 24 00:01:24,110 --> 00:01:25,360 ثنائی کے اصول. 25 00:01:25,360 --> 00:01:29,440 26 00:01:29,440 --> 00:01:32,470 ہر جگہ نمائندگی کی ہے بیس دو میں. 27 00:01:32,470 --> 00:01:36,260 تو آپ 0 کے لئے 2 شامل 1 تمام طریقہ 2. 28 00:01:36,260 --> 00:01:41,970 >> آپ بائنری کیا ہے شمار کرنے کے لیے دشملو، آپ کو صرف اس مساوات کو فالو کریں 29 00:01:41,970 --> 00:01:42,840 قسم بات. 30 00:01:42,840 --> 00:01:49,510 آپ کو ان جگہوں میں سے کسی میں 1 ہے، تو، آپ کی طرف سے ضرب ہے جو کچھ بھی 31 00:01:49,510 --> 00:01:53,820 اس میں کی بنیاد، ممبر شامل کریں، اور آپ دشملو حاصل. 32 00:01:53,820 --> 00:01:57,930 تو اس سے آپ کا شمار کس طرح ہے بائنری میں 5. 33 00:01:57,930 --> 00:02:01,400 ہم پر کیا کر رہے تھے کی طرح آخری سلائڈ، اس کو کس طرح آپ گا ہے 34 00:02:01,400 --> 00:02:02,650 5 کے ذریعے 1 کی نمائندگی کرتے ہیں. 35 00:02:02,650 --> 00:02:05,320 36 00:02:05,320 --> 00:02:09,660 >> اسی طرح، صرف آپ کو شامل کر سکتے ہیں پسند کرتے ہیں اور دشملو میں منہا یا 10 کی بنیاد، یا 37 00:02:09,660 --> 00:02:13,040 واقعی کسی بھی بنیاد پر شامل کر سکتے ہیں اور بائنری میں منہا. 38 00:02:13,040 --> 00:02:18,400 جب آپ کو آپ توقع کریں گے بالکل وہی جو یہ زیادہ سے زیادہ برابر ہے، دو کا اضافہ 39 00:02:18,400 --> 00:02:24,220 1 سے، آپ کو ایک 1، یہ 0 بنا لے، اور صرف، اس کے علاوہ اس طرح کرتے ہیں 40 00:02:24,220 --> 00:02:29,910 طرح آپ کو باقاعدگی سے توقع کریں گے دشملو یا کسی دوسرے کی بنیاد. 41 00:02:29,910 --> 00:02:30,970 ڈاؤن لوڈ، اتارنا. 42 00:02:30,970 --> 00:02:35,140 >> میں، سب سے پہلے نے کہا تو ہے کہ ہمارے کمپیوٹر کے ہڈ کے تحت پر جاتا ہے 43 00:02:35,140 --> 00:02:37,560 0 اور 1 کے، یا بائنری میں کیا جاتا ہے. 44 00:02:37,560 --> 00:02:43,470 تو ہم کا اظہار کرتے ہیں کہ کس طرح، مثال کے طور پر، خطوط، یا تعداد، یا حروف؟ 45 00:02:43,470 --> 00:02:45,560 اور اس کا جواب ASCII ہے. 46 00:02:45,560 --> 00:02:49,380 >> ASCII حروف کے درمیان ایک میپنگ ہے ہم عام طور پر میں دیکھیں گے کہ 47 00:02:49,380 --> 00:02:53,360 ایک کی، B کی طرح انگریزی زبان، C کی، ظاہر، ڈیش، اور 48 00:02:53,360 --> 00:02:54,910 اس طرح کچھ. 49 00:02:54,910 --> 00:02:57,260 اور یہ ایک ASCII قیمت پر کہ نقشے. 50 00:02:57,260 --> 00:03:03,080 ایک ASCII قیمت صرف ایک نمبر ہے آپ کے کمپیوٹر کی طرف سے سمجھا جا سکتا ہے. 51 00:03:03,080 --> 00:03:07,430 اور تم اس کے علاوہ کیا کر سکتے ہیں کی طرح اور تعداد کے ساتھ باقی نکالنا، آپ کر سکتے ہیں 52 00:03:07,430 --> 00:03:10,890 ASCII اقدار کے ساتھ ان. 53 00:03:10,890 --> 00:03:14,050 >> ، اس مثال میں تو کیا یہ باہر پرنٹ کرے گا؟ 54 00:03:14,050 --> 00:03:26,790 55 00:03:26,790 --> 00:03:35,480 جی ہاں، تو صرف ایک جگہ B خلائی سی جگہ ڈی کہاں اپنے ماؤس گئے تھے؟ 56 00:03:35,480 --> 00:03:39,200 57 00:03:39,200 --> 00:03:43,380 آپ 65 میں ایک int وضاحت کر سکتے ہیں نوٹس. 58 00:03:43,380 --> 00:03:47,080 اور آپ کو استعمال کرتے ہوئے اس کو پرنٹ جب فیصد C، یہ ایک کے طور پر اس کی تشریح کریں گے 59 00:03:47,080 --> 00:03:49,330 کردار اور A. پرنٹ 60 00:03:49,330 --> 00:03:52,800 >> اسی طرح، اگر آپ اعلان کر سکتے ہیں یہ ایک چار کے طور پر. 61 00:03:52,800 --> 00:03:56,860 اور تم فیصد کا استعمال کرتے ہوئے اسے باہر پرنٹ جب C، کے طور پر اس کی تشریح کریں گے 62 00:03:56,860 --> 00:04:05,240 فیصد D. اور آپ کو ایک شامل کر سکتے ہیں کی طرح تعداد، آپ کو حروف ہیں شامل کر سکتے ہیں 63 00:04:05,240 --> 00:04:06,878 اس معاملے میں ASCII اقدار،. 64 00:04:06,878 --> 00:04:11,370 65 00:04:11,370 --> 00:04:16,130 >> سب کے لئے تو ایک چھوٹی سی پوائنٹر. 66 00:04:16,130 --> 00:04:19,610 5، ایک تار کے طور پر، نہیں ہے اصل میں 5 برابر. 67 00:04:19,610 --> 00:04:26,610 تو ہم کس طرح تبدیل کر سکتے ہیں عددی 5 سٹرنگ 5؟ 68 00:04:26,610 --> 00:04:28,930 کوئی خیالات؟ 69 00:04:28,930 --> 00:04:31,630 جی ہاں. 70 00:04:31,630 --> 00:04:36,720 >> تو ہم نے ایک تار کے طور پر 5 ہے تو، ہم 0 منہا کر سکتے ہیں. 71 00:04:36,720 --> 00:04:37,820 اور یہ کہ ہمیں 5 دے دونگا. 72 00:04:37,820 --> 00:04:41,670 اور اسی طرح، ہم نے ایک کے طور پر 5 ہے تو عددی، سٹرنگ 0 شامل ہے کہ. 73 00:04:41,670 --> 00:04:43,112 اور یہ کہ ہم سٹرنگ 5 دیتا ہے. 74 00:04:43,112 --> 00:04:46,350 75 00:04:46,350 --> 00:04:48,350 ڈاؤن لوڈ، اتارنا. 76 00:04:48,350 --> 00:04:52,940 >> اب، ایک ہے جہاں لیکچر واپس یاد ہم الگورتھم کے بارے میں بات. 77 00:04:52,940 --> 00:04:57,260 تو ہم اصل میں ایک کمپیوٹر چاہتے ہیں کس طرح دلچسپ چیزیں کرنے کے لئے؟ 78 00:04:57,260 --> 00:05:00,460 انہوں نے مزید کہا اور تفریق، جانتے تعداد اور پرنٹنگ چیزوں کو باہر نہیں ہے 79 00:05:00,460 --> 00:05:01,730 کہ دلچسپ. 80 00:05:01,730 --> 00:05:04,620 عام طور پر، ہم ہمارے کمپیوٹر چاہتے ہیں الگورتھم کی کسی قسم کی کارکردگی کا مظاہرہ. 81 00:05:04,620 --> 00:05:07,820 تھوڑا سا زیادہ پیچیدہ کچھ صرف سادہ ریاضی سے. 82 00:05:07,820 --> 00:05:11,930 >> ایک الگورتھم قدم سیٹ کی طرف سے صرف ایک قدم ہے انجام دینے کے لئے کس طرح کے لئے ہدایات کے 83 00:05:11,930 --> 00:05:14,640 ایک مخصوص task-- 84 00:05:14,640 --> 00:05:15,660 صرف ایک ہدایت کی طرح. 85 00:05:15,660 --> 00:05:19,990 آپ کے پہلے دن یاد کر سکتے ہیں ڈیوڈ ہمیں ایک کمرے شمار تھے جہاں کلاس 86 00:05:19,990 --> 00:05:22,550 لوگوں کی اور کس طرح بہت سے لوگوں کو کمرے میں تھے. 87 00:05:22,550 --> 00:05:24,480 تم گنتی کے لئے استعمال کیا جا سکتا ہے ایک کے بعد ایک. 88 00:05:24,480 --> 00:05:25,860 1، 2، 3، 4. 89 00:05:25,860 --> 00:05:28,010 اس صورت میں، ایک لکیری وقت الگورتھم. 90 00:05:28,010 --> 00:05:31,710 >> لیکن داؤد کے لئے ایک الگورتھم متعارف آپ کو کمرے میں لوگوں کو شمار کرنے کے لئے 91 00:05:31,710 --> 00:05:37,340 سب کو کھڑا ہے جہاں، آپ کو آپ کا کہنا ہے کہ کسی دوسرے شخص کو تعداد، کہ شامل 92 00:05:37,340 --> 00:05:39,200 تعداد، اور ایک شخص بیٹھ. 93 00:05:39,200 --> 00:05:40,410 اور تم اس کا اعادہ. 94 00:05:40,410 --> 00:05:42,910 اس الگورتھم کی ایک قسم ہے. 95 00:05:42,910 --> 00:05:47,520 ہم کس طرح موثر ایک تجزیہ کر سکتے ہیں اس وقت چلانے پر الگورتھم کی بنیاد پر ہے. 96 00:05:47,520 --> 00:05:49,680 لیکن ہم تھوڑا سا میں بات کریں گے اس کے بعد کے بارے میں مزید. 97 00:05:49,680 --> 00:05:52,740 98 00:05:52,740 --> 00:05:57,090 >> تو تمام الگورتھم بھی کر سکتے ہیں pseudocode میں لکھا جائے. 99 00:05:57,090 --> 00:06:01,120 pseudocode کی طرح ایک انگریزی ہے نحو کی نمائندگی کے لئے استعمال کیا جاتا ہے 100 00:06:01,120 --> 00:06:02,420 ایک پروگرامنگ زبان. 101 00:06:02,420 --> 00:06:06,070 مثال کے طور پر، ایک صارف ہم چاہتے تھے تو پوچھنا میرا پسندیدہ تعداد کا اندازہ لگانا، ہم 102 00:06:06,070 --> 00:06:08,390 اس طرح کے طور pseudocode کے ہو سکتا ہے. 103 00:06:08,390 --> 00:06:09,850 >> صارفین کو لگتا ہے حاصل. 104 00:06:09,850 --> 00:06:13,570 اندازہ درست ہے تو، ان سے کہو وہ درست ہیں، اور ان سے کہو 105 00:06:13,570 --> 00:06:15,560 وہ درست نہیں ہیں. 106 00:06:15,560 --> 00:06:22,530 اور pseudocode کی آسانی کا ایک طریقہ ہے ایک خیال یا ایک الگورتھم کی نمائندگی. 107 00:06:22,530 --> 00:06:26,910 تو اب ہم اصل میں لکھنے کے لئے چاہتے ہیں کر سکتے اس زبان میں ہے کہ کمپیوٹر 108 00:06:26,910 --> 00:06:27,980 تفہیم ہو سکتا ہے. 109 00:06:27,980 --> 00:06:35,660 تو ہم اپنے pseudocode لکھ ​​سکتے تھے اور ماخذ کوڈ میں اس کی تشریح. 110 00:06:35,660 --> 00:06:41,320 >> اب تک، منبع کوڈ پر عمل کرنا ضروری ہے کی ایک مخصوص نحو 111 00:06:41,320 --> 00:06:42,490 ایک پروگرامنگ زبان. 112 00:06:42,490 --> 00:06:45,430 اور اب تک، CS50 میں، ہم نے زیادہ تر سی کا استعمال کرتے ہوئے. 113 00:06:45,430 --> 00:06:48,320 تو اس C کے لئے ماخذ کوڈ ہو سکتا ہے. 114 00:06:48,320 --> 00:06:51,440 بعد میں کورس میں، آپ کو رات آئے دیگر پروگرامنگ کے ساتھ رابطے میں 115 00:06:51,440 --> 00:06:52,480 پی ایچ پی کی طرح زبانوں. 116 00:06:52,480 --> 00:06:57,540 یا آپ کو بھی، آپ کو دوسری کلاس لے تو جاوا، ازگر، یا اس سے بھی OCML کر سکتا ہے. 117 00:06:57,540 --> 00:07:01,570 لیکن ہماری C پروگرام کی زبان میں، یہ ہے ہم کے لئے ماخذ کوڈ لکھ سکتا کس طرح 118 00:07:01,570 --> 00:07:04,760 pseudocode کے الگورتھم ہے کہ میں صرف پہلے بیان. 119 00:07:04,760 --> 00:07:08,630 120 00:07:08,630 --> 00:07:11,430 >> تو اصل میں آپ کے کمپیوٹر کرتا ہے سمجھتے ہیں کہ؟ 121 00:07:11,430 --> 00:07:14,490 میں صرف سچ میں، اس سے پہلے نے کہا zeros اور سمجھتا ہے. 122 00:07:14,490 --> 00:07:17,880 تو کس طرح اس کے ذریعہ سے حاصل کرتا ہے ہو سکتا ہے کہ کچھ کرنے کے لئے کوڈ 123 00:07:17,880 --> 00:07:18,960 سمجھ؟ 124 00:07:18,960 --> 00:07:22,920 ٹھیک ہے، ہم کچھ ہے ایک سنکلک کہا. 125 00:07:22,920 --> 00:07:28,450 >> آپ کے سب سے زیادہ میں واپس یاد ہے آپ کی psets میں، آپ کو پروگرام کے کچھ قسم کی تھی 126 00:07:28,450 --> 00:07:30,370 ایک نقطہ C فائل میں لکھا. 127 00:07:30,370 --> 00:07:32,550 اور پھر آپ ٹائپ کریں گے. 128 00:07:32,550 --> 00:07:35,970 تو کیا کر رہا ہے؟ 129 00:07:35,970 --> 00:07:39,970 >> آپ مرتب کرنے کے لئے ٹائپ کر سکتے ہیں پروگرام someone-- کیونکہ 130 00:07:39,970 --> 00:07:42,730 جو شخص اپنی P سیٹ لکھا؛ شاید David-- 131 00:07:42,730 --> 00:07:44,190 شرنگار فائل پیدا. 132 00:07:44,190 --> 00:07:51,320 اور اس کو چلانے کے لئے پتہ کرنے کے لئے بنانے کے بتاتا ہے آپ سنکلک، بجنا کہا جاتا، کہ مرضی 133 00:07:51,320 --> 00:07:55,560 تو اعتراض آپ کے منبع کوڈ کو مرتب zeros اور ہیں ہے جس کے کوڈ، 134 00:07:55,560 --> 00:07:57,720 آپ کے کمپیوٹر سمجھتا ہے. 135 00:07:57,720 --> 00:08:01,610 لیکن بعد میں ایک چھوٹا سا، ہم جائیں گے compilers کے بارے میں گہرائی میں زیادہ. 136 00:08:01,610 --> 00:08:05,640 137 00:08:05,640 --> 00:08:10,800 >> تو یاد 0 pset کے، where-- جی ہاں، آپ سے ایک سوال ہے؟ 138 00:08:10,800 --> 00:08:11,620 >> سامعین: [اشراوی]؟ 139 00:08:11,620 --> 00:08:12,490 >> اسپیکر 1: جی ہاں. 140 00:08:12,490 --> 00:08:14,960 میں اصل میں وہ سوچتے ہیں آن لائن ہونا چاہئے. 141 00:08:14,960 --> 00:08:15,120 جی ہاں. 142 00:08:15,120 --> 00:08:16,572 >> سامعین: یہ [اشراوی] کی طرح ہے؟ 143 00:08:16,572 --> 00:08:19,476 144 00:08:19,476 --> 00:08:20,830 >> اسپیکر 1: یہ نہیں ہے. 145 00:08:20,830 --> 00:08:25,810 cs50.net/quizzes پر ہیں. 146 00:08:25,810 --> 00:08:32,900 >> سامعین: سلیش quizzes ہے،، 2013 سلیش 0 سلیش، اور صرف کے ذریعے کلک کریں 147 00:08:32,900 --> 00:08:35,956 quizzes کی 2013 اور کوئز 0، سیکشن سلائڈ کا جائزہ لینے کے. 148 00:08:35,956 --> 00:08:40,380 >> اسپیکر 1: جی ہاں، تو تم لوگ چاہتے ہیں تو اسے اوپر ھیںچو اور اس پر نظر آپ 149 00:08:40,380 --> 00:08:42,740 اپنے کمپیوٹر، وہ بھی ٹھیک ہے. 150 00:08:42,740 --> 00:08:43,130 پھر سے کہو. 151 00:08:43,130 --> 00:08:44,546 >> سامعین: [اشراوی]. 152 00:08:44,546 --> 00:08:48,780 >> اسپیکر 1: جی ہاں، [اشراوی] ڈمی متغیر ہے. 153 00:08:48,780 --> 00:08:49,644 اوہ، جی ہاں؟ 154 00:08:49,644 --> 00:08:51,372 >> سامعین: [اشراوی]؟ 155 00:08:51,372 --> 00:08:54,300 >> اسپیکر 1: نہیں، حملے امتحان پر نہیں ہیں. 156 00:08:54,300 --> 00:08:55,950 معذرت، تھا اس سوال، تھا امتحان پر حملوں. 157 00:08:55,950 --> 00:08:59,530 اور یہ نہیں ہے. 158 00:08:59,530 --> 00:09:05,780 تو pset 0، تم لوگ سب ہونا چاہئے سکریچ کا استعمال کرتے ہوئے کچھ لاگو. 159 00:09:05,780 --> 00:09:13,100 اور ہم نے کچھ بنیادی پروگرامنگ سیکھا سکریچ کا استعمال کرتے ہوئے عمارت کے بلاکس. 160 00:09:13,100 --> 00:09:15,590 >> تو کچھ پر ایک نظر ڈالیں ان کی عمارت کے بلاکس کی 161 00:09:15,590 --> 00:09:18,170 ایک پروگرام ہے کہ قضاء. 162 00:09:18,170 --> 00:09:20,570 پہلا بولین اظہار ہے. 163 00:09:20,570 --> 00:09:24,540 بولین اظہار ہیں اور ہے کہ 0 یا کچھ 164 00:09:24,540 --> 00:09:25,700 دو ممکنہ اقدار. 165 00:09:25,700 --> 00:09:30,320 اس صورت میں، صحیح یا غلط، یا بند، اور ہاں یا نہ. 166 00:09:30,320 --> 00:09:35,390 بہت آسان، ایک سادہ کی ایک مثال، ایک بولین استعمال کرتا ہے پروگرام 167 00:09:35,390 --> 00:09:39,140 یہاں اظہار تک. 168 00:09:39,140 --> 00:09:43,220 >> تو کو بولین اظہار کے لئے ترتیب میں مفید ہو، ہم بولین آپریٹرز ہے. 169 00:09:43,220 --> 00:09:48,920 ان کا استعمال کیا جا سکتا ہے کہ آپریٹرز ہیں بعض اقدار کا موازنہ کرنے. 170 00:09:48,920 --> 00:09:52,820 تو ہم ہیں اور یا نہیں کے برابر، کم زیادہ یا اس سے زیادہ، کے برابر یا 171 00:09:52,820 --> 00:09:55,130 کے برابر، اور کے مقابلے میں کم زیادہ یا اس سے زیادہ. 172 00:09:55,130 --> 00:09:59,060 لیکن ان آپریٹرز بہت مفید نہیں ہیں ہم میں ان کو اکٹھا کر سکتے ہیں جب تک کہ 173 00:09:59,060 --> 00:10:00,320 حالات. 174 00:10:00,320 --> 00:10:04,370 >> تو تم لوگ شروع سے یاد کر سکتے ہیں اور آپ P سے ہم اس کا تعین کرتا ہے 175 00:10:04,370 --> 00:10:05,400 حالات تھے. 176 00:10:05,400 --> 00:10:09,710 وہ میں فورکس طرح، بنیادی طور پر، ہیں آپ کے پروگرام کی منطق ہے کہ 177 00:10:09,710 --> 00:10:12,670 یا نہیں پر منحصر executes ہے ایک حالت سے ملاقات کی ہے. 178 00:10:12,670 --> 00:10:18,150 ہم نے اس کے حالات کی تو ایک اس کورس میں کئی بار استعمال کیا ہے 179 00:10:18,150 --> 00:10:21,470 اور، تو، اور کچھ حالات، تو. 180 00:10:21,470 --> 00:10:24,060 >> یہاں ہے کہ کس طرح کی ایک مثال ہے آپ اس کا استعمال کر سکتے ہیں. 181 00:10:24,060 --> 00:10:28,430 کسی کے درمیان فرق جانتا ہے صرف بیانات اگر تمام کا استعمال کرتے ہوئے 182 00:10:28,430 --> 00:10:32,530 تو، کچھ آیات کے نیچے راستہ، تو، اور کسی مشترکہ؟ 183 00:10:32,530 --> 00:10:33,013 جی ہاں؟ 184 00:10:33,013 --> 00:10:34,263 >> سامعین: [اشراوی]. 185 00:10:34,263 --> 00:10:40,741 186 00:10:40,741 --> 00:10:42,160 >> اسپیکر 1: بالکل. 187 00:10:42,160 --> 00:10:50,210 تو میں تھا تو اس کے نیچے تمام طریقے جس طرح، یہاں تک کہ اس شرط واپس 188 00:10:50,210 --> 00:10:52,800 یہ سچ ہے، یہ اب بھی جاری رہے گا اگلے دو جانچ. 189 00:10:52,800 --> 00:11:00,120 ، جبکہ ایک اور اگر، ایک اور کے ساتھ بیان، ایک حقیقی واپس، 190 00:11:00,120 --> 00:11:02,640 دوسروں کا تجربہ کیا نہیں کر رہے ہیں. 191 00:11:02,640 --> 00:11:05,955 اس کے بارے میں کوئی سوال ہے؟ 192 00:11:05,955 --> 00:11:06,890 ڈاؤن لوڈ، اتارنا. 193 00:11:06,890 --> 00:11:12,240 >> تو آپ کو ایک اور کی اگر کسی اور استعمال اگر تم جانتے ہو بیان ہے کہ یہ صرف کر سکتے ہیں 194 00:11:12,240 --> 00:11:14,470 ان مقدمات میں سے ایک ہو. 195 00:11:14,470 --> 00:11:21,550 X 0 سے کم ہے اگر ایسا ہے تو ہم یہ جانتے ہو، یقینی طور پر نہیں جا رہا 196 00:11:21,550 --> 00:11:22,890 0 سے بڑا. 197 00:11:22,890 --> 00:11:26,940 198 00:11:26,940 --> 00:11:31,480 >> اگلا، ایک اور عمارت بلاک ہم نے سیکھا ہے کہ loops کے ہیں. 199 00:11:31,480 --> 00:11:33,310 ہم loops کی تین اقسام ہیں. 200 00:11:33,310 --> 00:11:35,830 loops کے لئے، جبکہ loops، اور loops جبکہ. 201 00:11:35,830 --> 00:11:38,730 اور عام طور پر، جب آپ کو بیٹھ کچھ لکھنے، آپ کو فیصلہ کرنا ہے 202 00:11:38,730 --> 00:11:40,060 آپ استعمال کرنا چاہتے تین ہے. 203 00:11:40,060 --> 00:11:41,900 تو ہم کس طرح جو ایک فیصلہ کرتے ہیں؟ 204 00:11:41,900 --> 00:11:44,920 205 00:11:44,920 --> 00:11:48,790 >> ہم جانتے ہیں تو ہم عام طور پر لوپ کے لئے ایک کا استعمال کرتے ہیں کتنی بار ہم iterate کرنا چاہتے ہیں 206 00:11:48,790 --> 00:11:53,650 کچھ کے ذریعے یا کتنی بار ہم ایک کام کو انجام دینے کے لئے چاہتے ہیں. 207 00:11:53,650 --> 00:11:58,830 ہم کچھ کی ضرورت ہے تو ہم جبکہ loops کا استعمال حالت چلانے رکھنے کے لئے سچ ہو. 208 00:11:58,830 --> 00:12:03,730 اور ہم سے بہت ملتے جلتے ہیں جبکہ ہے استعمال جبکہ، لیکن ہم اپنے کوڈ کو چلانے کے لئے چاہتے ہیں 209 00:12:03,730 --> 00:12:04,880 کم از کم ایک بار. 210 00:12:04,880 --> 00:12:09,410 >> کیا میں جو کچھ بھی تو کرتے ہیں جبکہ، گے ہمیشہ کم از کم ایک بار چلانے کے. 211 00:12:09,410 --> 00:12:13,120 ، جبکہ جبکہ کے ساتھ، یہ بالکل تو نہیں کر سکتے ہیں 212 00:12:13,120 --> 00:12:15,490 حالت مطمئن نہیں ہے. 213 00:12:15,490 --> 00:12:16,740 اس کے ساتھ کوئی سوال ہے؟ 214 00:12:16,740 --> 00:12:20,480 215 00:12:20,480 --> 00:12:22,860 >> لوپ کے لئے ایک تو ساخت. 216 00:12:22,860 --> 00:12:23,620 تم لوگ یہ سب دیکھا ہے. 217 00:12:23,620 --> 00:12:25,320 تم اس کی ابتدا. 218 00:12:25,320 --> 00:12:26,600 تم شرط کے کچھ قسم ہے. 219 00:12:26,600 --> 00:12:32,340 تو، مثال کے طور پر، ہم نے ابتدا کر سکتے ہیں کے طور پر میں 0 کے برابر ہے. 220 00:12:32,340 --> 00:12:34,040 میں 10 سے بھی کم ہے. 221 00:12:34,040 --> 00:12:35,442 اور میں + +. 222 00:12:35,442 --> 00:12:39,010 ہم نے کیا ہے کہ بہت سادہ ہے. 223 00:12:39,010 --> 00:12:42,210 >> تھوڑی دیر کے لوپ کے لئے، اسی طرح، آپ کے پاس ابتدا کے کچھ قسم کی ہے کرنے کے لئے، 224 00:12:42,210 --> 00:12:44,980 حالت کسی قسم کا، اور اپ ڈیٹ کے کچھ قسم کی. 225 00:12:44,980 --> 00:12:51,990 تو ہم نے بھی لوپ کے لئے ہمارے عملدرآمد کر سکتے ہیں تھوڑی دیر کے لوپ کے طور پر اس کا استعمال کرتے ہوئے. 226 00:12:51,990 --> 00:12:56,000 اور اسی طرح ایک جبکہ لوپ کے ساتھ، ہم کچھ ابتدا ہو سکتا ہے، 227 00:12:56,000 --> 00:12:58,640 ، کچھ پر عمل اس کو اپ ڈیٹ، اور پھر حالت کی جانچ پڑتال. 228 00:12:58,640 --> 00:13:03,500 229 00:13:03,500 --> 00:13:05,140 >> تو اب کام کرتا ہے. 230 00:13:05,140 --> 00:13:06,460 ہم ایک دوسرے کے ساتھ سب کچھ ڈال دیا. 231 00:13:06,460 --> 00:13:10,140 ہم نے کچھ لکھنے کے لئے چاہتے ہیں کر سکتے تقریب کی قسم. 232 00:13:10,140 --> 00:13:12,790 مشترکہ تقریب ہے کہ آپ کو ہو سکتا ہے پہلے سے ہی دیکھا ہے اہم ہے. 233 00:13:12,790 --> 00:13:13,770 مین ایک تقریب ہے. 234 00:13:13,770 --> 00:13:16,160 یہ ایک واپسی کی قسم، int ہے. 235 00:13:16,160 --> 00:13:18,470 یہ اہم ایک تقریب کے نام، ہے. 236 00:13:18,470 --> 00:13:20,810 اور یہ دلائل، argc اور argv ہے. 237 00:13:20,810 --> 00:13:24,040 تو اہم صرف ایک تقریب ہے. 238 00:13:24,040 --> 00:13:27,230 >> آپ نے استعمال کی ہے ہو سکتا ہے دیگر افعال، printf-- printf ایک تقریب ہے 239 00:13:27,230 --> 00:13:29,330 میں GetInt، toupper کرتا ہے. 240 00:13:29,330 --> 00:13:32,010 لیکن یہ کیا گیا ہے ہو کی طرف سے ہمارے لئے لاگو 241 00:13:32,010 --> 00:13:33,270 لائبریری کے کچھ قسم کی. 242 00:13:33,270 --> 00:13:37,400 آپ لوگ بھی شامل یاد ہے اس cs50.h لائبریری یا 243 00:13:37,400 --> 00:13:38,510 معیاری لائبریری I / O. 244 00:13:38,510 --> 00:13:39,200 جی ہاں، سوال؟ 245 00:13:39,200 --> 00:13:41,610 >> سامعین: C میں صرف موروثی اہم ہے؟ 246 00:13:41,610 --> 00:13:44,740 یہ صرف کی طرح [اشراوی] ہے؟ 247 00:13:44,740 --> 00:13:47,370 >> اسپیکر 1: سوال یہ ہے اگر اہم سی میں شامل ہے. 248 00:13:47,370 --> 00:13:51,460 اور ہاں، تمام افعال ایک اہم تقریب ہے. 249 00:13:51,460 --> 00:13:55,290 اس قسم کے کمپیوٹر کے لئے ضروری ہے شروع کرنے کے لئے جہاں معلوم کرنے 250 00:13:55,290 --> 00:13:55,993 کوڈ چلانے. 251 00:13:55,993 --> 00:13:58,108 >> سامعین: تو اگر نہیں کرے گا [اشراوی]؟ 252 00:13:58,108 --> 00:13:59,480 >> اسپیکر 1: نمبر 253 00:13:59,480 --> 00:14:00,760 کوئی سوال؟ 254 00:14:00,760 --> 00:14:03,430 255 00:14:03,430 --> 00:14:04,770 ڈاؤن لوڈ، اتارنا. 256 00:14:04,770 --> 00:14:08,050 آپ کو ایک تقریب کا استعمال کر سکتے ہیں تو صرف کی طرح کہ آپ کے لئے لکھا گیا ہے، آپ کو بھی کر سکتے ہیں 257 00:14:08,050 --> 00:14:10,380 آپ کی اپنی تقریب لکھیں. 258 00:14:10,380 --> 00:14:17,050 یہ ہو سکتا ہے کہ کسی ایک تقریب ہے حجم کا حساب کرنے کے لکھا ہے 259 00:14:17,050 --> 00:14:18,395 مثال کے طور پر (ق)، کے. 260 00:14:18,395 --> 00:14:21,300 261 00:14:21,300 --> 00:14:29,500 واپسی کی قسم اس صورت میں، یہاں ہے INT، ہماری تقریب کا نام (ق) اور ہمارے 262 00:14:29,500 --> 00:14:31,360 پیرامیٹرز کی فہرست. 263 00:14:31,360 --> 00:14:34,550 >> اور آپ کے اعداد و شمار لکھنے کے لئے ہے یاد رکھیں کہ آپ چاہتے ہیں پیرامیٹر کی قسم 264 00:14:34,550 --> 00:14:38,660 استعمال کرتے ہیں یا کام نہیں کرتا اور کس قسم کی جانتے 265 00:14:38,660 --> 00:14:41,650 پیرامیٹر میں قبول کیا جانا چاہئے. 266 00:14:41,650 --> 00:14:48,110 تو، اس صورت میں، ہم چاہتے ہیں ہمارے ان پٹ کے طور پر ایک عددی. 267 00:14:48,110 --> 00:14:50,390 تو ہم کیوں کام کرتا ہے استعمال کرنے کے لئے چاہتے ہو سکتا ہے؟ 268 00:14:50,390 --> 00:14:52,800 >> ، سب سے پہلے تنظیم کے لئے بہت اچھا. 269 00:14:52,800 --> 00:14:56,350 وہ میں آپ کے کوڈ کو توڑنے میں مدد زیادہ مقدار منظم اور بنانے 270 00:14:56,350 --> 00:14:57,960 یہ آسان کو پڑھنے کے لئے. 271 00:14:57,960 --> 00:14:59,760 آسان بنانے. 272 00:14:59,760 --> 00:15:01,740 یہ ڈیزائن کے لئے اچھا ہے. 273 00:15:01,740 --> 00:15:04,570 آپ کے کوڈ کا ایک ٹکڑا پڑھ رہے ہیں جب اور اہم تقریب، واقعی ہے 274 00:15:04,570 --> 00:15:07,750 واقعی طویل، اس کے لئے مشکل ہو سکتا ہے کیا چل رہا ہے کے بارے میں کی وجہ سے. 275 00:15:07,750 --> 00:15:11,710 تو آپ کے افعال میں ٹوٹ تو، اس کو پڑھنے کے لئے آسان ہو سکتا ہے. 276 00:15:11,710 --> 00:15:12,750 اور دوبارہ استعمال کرنے کی صلاحیت. 277 00:15:12,750 --> 00:15:16,940 آپ کے کوڈ کا ایک حصہ ہیں، تو کیا جا رہا ہے کہ کہا جاتا ہے یا کئی بار کو چلانے، 278 00:15:16,940 --> 00:15:20,690 بجائے اس کوڈ 10 بار دوبارہ لکھ کے آپ کی اہم تقریب میں، آپ کو ہو سکتا ہے 279 00:15:20,690 --> 00:15:21,440 اسے دوبارہ استعمال کرنا چاہتے ہیں. 280 00:15:21,440 --> 00:15:25,740 اور پھر ہر وقت آپ اس کا استعمال کرنے کی ضرورت ہے کوڈ کا ٹکڑا، تقریب کہتے ہیں. 281 00:15:25,740 --> 00:15:30,550 282 00:15:30,550 --> 00:15:35,380 >> تو اب ہم واپس سکریچ کرنے کے لئے یاد ہے، ہم نے بھی چند تصورات کے بارے میں بات 283 00:15:35,380 --> 00:15:37,680 جن میں سے ایک تھریڈنگ ہے. 284 00:15:37,680 --> 00:15:41,120 موضوع، فورم کے ایک سے زیادہ کا تصور ہے کوڈ کے انداز 285 00:15:41,120 --> 00:15:43,040 ایک ہی وقت میں عمل. 286 00:15:43,040 --> 00:15:47,490 داؤد تھا جہاں ایک دن میں واپس لگتا ہے تم لوگوں کی تعداد کی گنتی 287 00:15:47,490 --> 00:15:48,440 کمرے میں لوگوں. 288 00:15:48,440 --> 00:15:50,550 >> بنیادی طور پر، کیا جا رہا تھا پر آپ لوگوں میں سے ہے تھے 289 00:15:50,550 --> 00:15:52,370 الگ الگ موضوعات چل رہا. 290 00:15:52,370 --> 00:15:55,540 اور ان موضوعات کے ساتھ مل کر آ رہے تھے جواب کے کچھ قسم کی حاصل کرنے کے لئے. 291 00:15:55,540 --> 00:15:58,890 اسی طرح، شروع میں، جب آپ کے پاس ایک سے زیادہ sprites، آپ ہو سکتا ہے 292 00:15:58,890 --> 00:16:01,070 ایک بلی اور ایک کتا ہے. 293 00:16:01,070 --> 00:16:08,770 اور وہ ایک ہی وقت میں ہو جائے گا ان کے اپنے سکرپٹ کو چلانے کے. 294 00:16:08,770 --> 00:16:10,020 یہ تھریڈنگ کی ایک مثال ہے. 295 00:16:10,020 --> 00:16:12,860 296 00:16:12,860 --> 00:16:18,000 >> اور دوسرے تصور تھا کہ شروع میں متعارف واقعات تھا. 297 00:16:18,000 --> 00:16:22,550 اور واقعات کی جب ایک سے زیادہ حصے ہیں اپنے کوڈ کو ایک دوسرے کے ساتھ بات چیت. 298 00:16:22,550 --> 00:16:26,840 آپ استعمال کیا جب شروع میں، یہ تھا نشر کنٹرول اور جب میں 299 00:16:26,840 --> 00:16:29,500 بلاکس حاصل. 300 00:16:29,500 --> 00:16:35,170 >> اور بھی، مسئلہ 4 سیٹ میں، ہم نے دیکھا اس کے ساتھ ساتھ واقعات کا ایک تھوڑا سا. 301 00:16:35,170 --> 00:16:38,250 تم لوگوں کو استعمال کیا جاتا ہے ہو سکتا ہے Gevent لائبریری. 302 00:16:38,250 --> 00:16:42,450 اور ایک تقریب تھا waitForClick جس میں آپ کو انتظار کر رہے تھے 303 00:16:42,450 --> 00:16:44,300 صارف کلک کریں کرنے کے لئے. 304 00:16:44,300 --> 00:16:47,870 اور آپ پر کلک کریں، اس صورت میں، ہو جائے گا کلک کے لئے اہم واقعہ اور انتظار تمہارا ہے 305 00:16:47,870 --> 00:16:49,120 ایونٹ ہینڈلر. 306 00:16:49,120 --> 00:16:53,690 307 00:16:53,690 --> 00:16:58,630 >> اور بھی، اپنے psets میں چل رہا ہے اور اپنے psets پر کام کر رہے، آپ 308 00:16:58,630 --> 00:17:01,920 ساتھ رابطے میں آتے ہو سکتا ہے یہ حکم دیتا ہے میں سے کچھ. 309 00:17:01,920 --> 00:17:05,579 اس سے آپ میں ٹائپ کیا ہے آپ ٹرمنل ونڈو یا جو کچھ بھی کھڑکی 310 00:17:05,579 --> 00:17:12,119 کہ، کے لئے اپنے جی میں ترمیم پر ظاہر بنیادی طور پر، آپ کے کمپیوٹر کے لئے تشریف لے. 311 00:17:12,119 --> 00:17:19,440 >> تو مثال کے طور پر، LS کی فہرست ایک ڈائریکٹری کے مواد. 312 00:17:19,440 --> 00:17:22,510 ڈائریکٹری ایک نیا فولڈر تخلیق کرتا ہے بنائیں. 313 00:17:22,510 --> 00:17:24,819 سی ڈی، تبدیلی کی ڈائریکٹری. 314 00:17:24,819 --> 00:17:28,400 RM، کو ہٹا دیں، ایک فائل کو خارج یا کچھ ڈائریکٹری. 315 00:17:28,400 --> 00:17:31,050 اور پھر ڈائریکٹری دور ایک ڈائریکٹری کو ہٹاتا ہے. 316 00:17:31,050 --> 00:17:32,300 >> سامعین: [اشراوی]؟ 317 00:17:32,300 --> 00:17:36,978 318 00:17:36,978 --> 00:17:38,370 >> اسپیکر 1: جی ہاں، اس بات کا یقین. 319 00:17:38,370 --> 00:17:42,530 320 00:17:42,530 --> 00:17:46,040 معذرت، سوال تھا اگر آپ یہ ڈال تجویز کرے گا 321 00:17:46,040 --> 00:17:48,840 دھوکے باز شیٹ پر. 322 00:17:48,840 --> 00:17:49,440 یہ مدد کر سکتے ہیں. 323 00:17:49,440 --> 00:17:51,490 آپ کو کمرے ہے تو، آپ کو اس پر ڈال کر سکتے ہیں. 324 00:17:51,490 --> 00:17:56,170 یہ بھی کافی عام طور پر اچھا ہے آپ اس کا استعمال کیونکہ جب یاد کرنے کے لئے 325 00:17:56,170 --> 00:17:59,060 آپ کے لئے چاہتے ہو سکتا ہے صرف اسے حفظ ہے. 326 00:17:59,060 --> 00:18:02,750 یہ آپ کی زندگی بہت آسان بنا دیں گے. 327 00:18:02,750 --> 00:18:04,000 میں نے آپ کے سوال کا جواب ہے؟ 328 00:18:04,000 --> 00:18:10,528 329 00:18:10,528 --> 00:18:14,290 >> تو اب، ہم تھوڑا سا بات کی تھی لائبریریوں کے بارے میں مختصر طور پر. 330 00:18:14,290 --> 00:18:18,570 لیکن دو اہم ہیں ہم کیا گیا ہے کہ اب تک کے کورس میں ہیں کا استعمال کرتے ہوئے 331 00:18:18,570 --> 00:18:20,860 معیاری I / O اور CS50. 332 00:18:20,860 --> 00:18:25,410 چیزوں کو کس قسم کے شامل ہیں معیاری لائبریری I / O میں؟ 333 00:18:25,410 --> 00:18:28,410 >> جی ہاں، اب تک ہم printf کا استعمال کیا ہے. 334 00:18:28,410 --> 00:18:31,150 CS50 میں، ہم GetInt استعمال کیا جاتا ہے اور GetString. 335 00:18:31,150 --> 00:18:37,200 اور اعداد و شمار کی قسم سٹرنگ بھی ہوتا ہے یہ CS50 لائبریری میں اعلان کیا جائے گا. 336 00:18:37,200 --> 00:18:40,250 ہم کے بارے میں گہرائی میں ایک چھوٹا سا زیادہ بات کریں گے کس طرح لائبریریوں کام کرتے ہیں اور وہ کس طرح 337 00:18:40,250 --> 00:18:41,870 آپ کے کوڈ کے باقی کے ساتھ بات چیت. 338 00:18:41,870 --> 00:18:46,220 لیکن ان دو اہم ہیں کہ ہم اب تک میں کے ساتھ رابطے میں آئے ہیں 339 00:18:46,220 --> 00:18:48,430 کورس. 340 00:18:48,430 --> 00:18:50,050 >> اقسام. 341 00:18:50,050 --> 00:18:58,120 یہ کتنا یاد کرنے کے لئے اچھے ہیں ہر ایک قسم کے لئے کس طرح کی طرف سے یا نمائندگی کی ہے 342 00:18:58,120 --> 00:19:02,840 بہت بائٹس کی قسم میں سے ہر ایک requires-- 343 00:19:02,840 --> 00:19:04,990 INT، 4 بائٹس؛ چار، 1 بائٹ. 344 00:19:04,990 --> 00:19:06,550 فلوٹ 4 بائٹس ہے. 345 00:19:06,550 --> 00:19:07,782 ایک ڈبل کیا ہے؟ 346 00:19:07,782 --> 00:19:09,032 >> سامعین: [اشراوی]. 347 00:19:09,032 --> 00:19:11,398 348 00:19:11,398 --> 00:19:16,240 >> اسپیکر 1: جی ہاں، تو ایک فلوٹ لیکن سائز دوگنا. 349 00:19:16,240 --> 00:19:17,150 کیا ایک طویل کے بارے میں؟ 350 00:19:17,150 --> 00:19:18,400 >> سامعین: [اشراوی]. 351 00:19:18,400 --> 00:19:21,614 352 00:19:21,614 --> 00:19:24,680 >> اسپیکر 1: ٹھیک ہے. 353 00:19:24,680 --> 00:19:25,410 ایک طویل کیا ہے؟ 354 00:19:25,410 --> 00:19:26,660 >> سامعین: [اشراوی]. 355 00:19:26,660 --> 00:19:29,400 356 00:19:29,400 --> 00:19:31,450 >> اسپیکر 1: جی ہاں، ایک int دوگنا. 357 00:19:31,450 --> 00:19:34,240 358 00:19:34,240 --> 00:19:34,705 جی ہاں. 359 00:19:34,705 --> 00:19:36,100 >> سامعین: [اشراوی]. 360 00:19:36,100 --> 00:19:38,030 >> اسپیکر 1: لانگ [اشراوی]. 361 00:19:38,030 --> 00:19:41,860 اور پھر ایک طویل طویل ہے کہ ڈبل ہے. 362 00:19:41,860 --> 00:19:42,814 >> سامعین: نہیں، نہیں. 363 00:19:42,814 --> 00:19:47,107 ایک طویل ایک int ہے. 364 00:19:47,107 --> 00:19:50,910 یہ فن تعمیر پر انحصار کرتا ہے اس سے پہلے [اشراوی] 365 00:19:50,910 --> 00:19:52,922 اور int ایک ہی سائز ہے. 366 00:19:52,922 --> 00:19:54,172 [اشراوی]. 367 00:19:54,172 --> 00:19:58,841 368 00:19:58,841 --> 00:20:00,920 >> اسپیکر 1: تو ایک طویل اور ایک int ایک ہی ہیں. 369 00:20:00,920 --> 00:20:02,943 اور پھر ایک طویل طویل ڈبل int ہے. 370 00:20:02,943 --> 00:20:03,910 ڈاؤن لوڈ، اتارنا. 371 00:20:03,910 --> 00:20:05,550 اور پھر، گزشتہ قسم کیا ہے؟ 372 00:20:05,550 --> 00:20:06,510 >> سامعین: اشارہ. 373 00:20:06,510 --> 00:20:10,350 >> اسپیکر 1: جی ہاں، تو ہم نے سیکھا اشارہ کے بارے میں تھوڑا سا. 374 00:20:10,350 --> 00:20:14,015 اور قطع نظر ایک پوائنٹر ہے کیا اس to-- طرف اشارہ کرتے ہوئے ایک چار ستارہ ہو سکتا ہے 375 00:20:14,015 --> 00:20:15,880 یا ایک int star-- 376 00:20:15,880 --> 00:20:20,530 یہ ہمیشہ ایک پوائنٹر 4 بائٹس ہے. 377 00:20:20,530 --> 00:20:21,633 اس کے بارے میں سوالات؟ 378 00:20:21,633 --> 00:20:22,116 جی ہاں؟ 379 00:20:22,116 --> 00:20:24,531 >> سامعین: [اشراوی]؟ 380 00:20:24,531 --> 00:20:29,530 >> اسپیکر 1: تو ایک طویل اور ایک int ہیں اس CS50 آلات میں ایک ہی. 381 00:20:29,530 --> 00:20:32,302 >> سامعین: کے آلے کو مکمل طور پر ہیں تبادلہ. 382 00:20:32,302 --> 00:20:33,510 >> اسپیکر 1: جی ہاں. 383 00:20:33,510 --> 00:20:36,610 تو پھر ایک طویل طویل ڈبل ایک int ہے. 384 00:20:36,610 --> 00:20:39,250 >> سامعین: یہ 32 بٹ ہے؟ 385 00:20:39,250 --> 00:20:40,620 >> اسپیکر 1: 32 بٹ، جی ہاں. 386 00:20:40,620 --> 00:20:43,572 >> سامعین: تو [اشراوی]؟ 387 00:20:43,572 --> 00:20:46,790 >> اسپیکر 1: جی ہاں، اگر ایسا نہیں ہوتا واضح طور پر، آپ کا کہنا ہے 388 00:20:46,790 --> 00:20:47,870 32 بٹ فرض چاہئے. 389 00:20:47,870 --> 00:20:50,040 >> سامعین: یہ کچھ کہیں گے ایک سنبھالنے کی طرح 390 00:20:50,040 --> 00:20:51,498 آلات کی طرح فن تعمیر. 391 00:20:51,498 --> 00:20:58,800 392 00:20:58,800 --> 00:21:01,710 64 تھوڑا سا، صرف چیزوں کے لئے کہ تبدیلی چاہتا ہے اور اشارہ ہیں. 393 00:21:01,710 --> 00:21:05,614 وہ دونوں [اشراوی]. 394 00:21:05,614 --> 00:21:06,590 >> اسپیکر 1: جی ہاں؟ 395 00:21:06,590 --> 00:21:07,566 >> سامعین: سوال. 396 00:21:07,566 --> 00:21:10,982 پریکٹس quizzes میں سے ایک پر، یہ ایک int اہستاکشرت کے بارے میں پوچھتا ہے. 397 00:21:10,982 --> 00:21:15,374 تو کس طرح کا تعین کیا جائے گا ایک int [اشراوی] ہے؟ 398 00:21:15,374 --> 00:21:18,140 >> اسپیکر 1: ایک اہستاکشرت میں 4 بائٹس ہے. 399 00:21:18,140 --> 00:21:21,172 لیکن ایک دستخط کے بارے میں مختلف کیا ہے int اور ایک int اہستاکشرت؟ 400 00:21:21,172 --> 00:21:22,422 >> سامعین: [اشراوی]. 401 00:21:22,422 --> 00:21:24,868 402 00:21:24,868 --> 00:21:25,630 >> اسپیکر 1: صحیح. 403 00:21:25,630 --> 00:21:27,570 ایک منفی اقدار کی نمائندگی کر سکتے ہیں. 404 00:21:27,570 --> 00:21:28,580 لیکن یہ کس طرح ہے کہ ہے؟ 405 00:21:28,580 --> 00:21:30,536 >> سامعین: [اشراوی]. 406 00:21:30,536 --> 00:21:36,370 >> اسپیکر 1: جی ہاں، یہ 1 بچاتا ہے سا علامت کی نمائندگی کے لئے. 407 00:21:36,370 --> 00:21:40,910 408 00:21:40,910 --> 00:21:45,040 پر دستخط ایک تھوڑا سا ہے کہ سائن ان کی نمائندگی کرتا ہے. 409 00:21:45,040 --> 00:21:48,886 اور اہستاکشرت صرف مثبت ہے. 410 00:21:48,886 --> 00:21:50,365 >> سامعین: ٹھیک ہے. 411 00:21:50,365 --> 00:21:54,230 تو آپ کو ایک ڈبل کا کہنا ہے کہ ایک فلوٹ کی دو بار سائز؟ 412 00:21:54,230 --> 00:21:58,202 >> اسپیکر 1: ڈبل میں دو بار ہے ایک فلوٹ کے سائز، جی ہاں. 413 00:21:58,202 --> 00:22:01,639 >> سامعین: پوائنٹر کرتا ہے کس طرح ایک طویل طویل [اشراوی]؟ 414 00:22:01,639 --> 00:22:06,058 415 00:22:06,058 --> 00:22:10,870 >> اسپیکر 1: کس طرح کرتا ہے تو سوال یہ ہے ایک طویل long-- پوائنٹر 416 00:22:10,870 --> 00:22:13,800 کس طرح صرف چار بائٹس ہے جب اس 8 بائٹس ایک طویل طویل. 417 00:22:13,800 --> 00:22:17,310 تو ایک پوائنٹر ہے یاد، بنیادی طور پر، بہت بنیاد قیمت میں. 418 00:22:17,310 --> 00:22:19,046 >> سامعین: [اشراوی]. 419 00:22:19,046 --> 00:22:22,670 >> اسپیکر 1: جی ہاں، تو پوائنٹر صرف ایک میموری جگہ ہے. 420 00:22:22,670 --> 00:22:28,040 تو یہ کس طرح زیادہ سے زیادہ جگہ کوئی فرق نہیں پڑتا اس پوائنٹر اشارہ کر رہا ہے. 421 00:22:28,040 --> 00:22:32,060 یہ صرف ٹریک رکھنے کے لئے کی ضرورت ہے 4 بائٹس اس میموری مقام. 422 00:22:32,060 --> 00:22:34,760 423 00:22:34,760 --> 00:22:36,010 کوئی سوال؟ 424 00:22:36,010 --> 00:22:39,800 425 00:22:39,800 --> 00:22:41,050 ڈاؤن لوڈ، اتارنا. 426 00:22:41,050 --> 00:22:42,920 427 00:22:42,920 --> 00:22:47,460 >> تو آخری بات میں ہے معیاری پیداوار ہے. 428 00:22:47,460 --> 00:22:51,020 آپ اکثر ان کا استعمال کرنا چاہئے آپ کو یاد کر سکتے ہیں کے لئے کافی. 429 00:22:51,020 --> 00:22:54,800 ہم استعمال کرتے ہیں لیکن جب یہ ہے printf کے، مثال کے طور پر. 430 00:22:54,800 --> 00:22:59,260 اور ہم نے ان جگہ دار ہے کہ شکل کوڈ کہا جاتا تھا. 431 00:22:59,260 --> 00:23:03,910 >> تو int کے لئے فیصد سی چار، فیصد میں، اور ہم بھی فیصد ڈی استعمال کر سکتے ہیں. 432 00:23:03,910 --> 00:23:05,130 یہ ایک ہی بات ہے. 433 00:23:05,130 --> 00:23:08,200 لیکن، عام طور پر، میں CS50 ہم فیصد میں استعمال کرنے کی کوشش. 434 00:23:08,200 --> 00:23:09,860 فلوٹ کے لئے فیصد ایف. 435 00:23:09,860 --> 00:23:15,620 طویل طویل کے لئے فیصد LD اور سٹرنگ کے لئے فیصد کی. 436 00:23:15,620 --> 00:23:18,550 >> اسی طرح، ہم میں سے چند ایک کا استعمال کرتے ہوئے کیا گیا ہے ان فرار انداز کی. 437 00:23:18,550 --> 00:23:22,431 مثال کے طور پر، الٹا سلیش (ن) کے نئے لائن کے لئے. 438 00:23:22,431 --> 00:23:26,910 یہ آپ فارمیٹنگ کر رہے ہیں جب کے لئے صرف ہے پرنٹ F کے لئے آپ کے کوڈ. 439 00:23:26,910 --> 00:23:27,260 جی ہاں؟ 440 00:23:27,260 --> 00:23:28,906 >> سامعین: فیصد ڈی کیا ہے؟ 441 00:23:28,906 --> 00:23:31,850 >> اسپیکر 1: تو سوال فیصد D کے لئے کیا ہے؟ 442 00:23:31,850 --> 00:23:33,270 فیصد D ints کے لئے ہے. 443 00:23:33,270 --> 00:23:37,392 فیصد ڈی اور فیصد میں ہی ہیں. 444 00:23:37,392 --> 00:23:41,130 >> سامعین: کے درمیان فرق کیا ہے الٹا سلیش (ن) اور الٹا سلیش R؟ 445 00:23:41,130 --> 00:23:45,300 >> اسپیکر 1: تو سوال ہے کیا ہے ردعمل (ن) اور کے درمیان فرق 446 00:23:45,300 --> 00:23:48,615 ردعمل R؟ 447 00:23:48,615 --> 00:23:50,906 میں الٹا سلیش R لگتا is-- 448 00:23:50,906 --> 00:23:54,340 >> سامعین: تو الٹا سلیش R صرف کا مطلب سطر کے شروع کرنے کے لئے واپس 449 00:23:54,340 --> 00:23:56,670 اصل میں ایک نئی سطر میں جانے کے بغیر. 450 00:23:56,670 --> 00:24:01,000 تو آپ کو ایک الٹا سلیش R پرنٹ اور اگر آپ سطر کے شروع کرنے کے لئے واپس جائیں 451 00:24:01,000 --> 00:24:04,005 تو آپ ادلیکھت، زیادہ چیزیں پرنٹ پر پہلے سے ہی ہے کہ چیزیں 452 00:24:04,005 --> 00:24:04,390 [اشراوی]. 453 00:24:04,390 --> 00:24:06,725 جبکہ، ن اصل میں ایک نئے کے لئے جاتا ہے لائن اور [اشراوی] کو جاتا ہے. 454 00:24:06,725 --> 00:24:10,525 455 00:24:10,525 --> 00:24:13,915 >> اسپیکر 1: ویسے، کوئی سوال؟ 456 00:24:13,915 --> 00:24:15,430 ٹھیک ہے. 457 00:24:15,430 --> 00:24:18,617 میں اس سے دور کے حوالے کرنے جا رہا ہوں جاری رکھیں گے جو ڈین. 458 00:24:18,617 --> 00:24:25,078 >> [تالیاں] 459 00:24:25,078 --> 00:25:08,814 460 00:25:08,814 --> 00:25:09,720 >> ڈین: تمام righty. 461 00:25:09,720 --> 00:25:18,590 تو میں نے ایک اور وسیع کے بارے میں بات کی جائے گی ہیں کہ کلاس سے خیالات کی حد 462 00:25:18,590 --> 00:25:23,220 تقریبا دو ہفتے کے نمائندے اور ہفتے میں تین کے آغاز شروع 463 00:25:23,220 --> 00:25:28,690 کا صرف ایک طریقہ ہے جس میں معدنیات سے متعلق، کے ساتھ ایک خاص قسم کی قیمت کے طور پر علاج 464 00:25:28,690 --> 00:25:30,830 ایک مختلف قسم کی قدر. 465 00:25:30,830 --> 00:25:34,110 تو ہم کو حروف کے ساتھ یہ کر سکتے ہیں ints کے، ints کی floats، اور 466 00:25:34,110 --> 00:25:35,360 طویل چاہتا ہے دگنا کرنے کے لئے. 467 00:25:35,360 --> 00:25:38,170 468 00:25:38,170 --> 00:25:44,500 >> ان تمام چیزوں کے طریقے کے طور پر استعمال کیا جا سکتا کچھ عددی قیمت کے علاج کے 469 00:25:44,500 --> 00:25:48,370 کسی دوسرے کے طور پر مائنس چار عددی قیمت. 470 00:25:48,370 --> 00:25:54,480 کچھ مسائل اس کے ساتھ ہیں تاکہ آپ ڈالا جب آتا ہے جس میں کورس کے، 471 00:25:54,480 --> 00:25:57,860 ints کے فلوٹ کی طرح چیزوں. 472 00:25:57,860 --> 00:26:00,500 تو یہ ایک چھوٹا سا عجیب ہے. 473 00:26:00,500 --> 00:26:03,170 ہم 1.31 ہے کہ ایک فلوٹ ہے. 474 00:26:03,170 --> 00:26:05,220 ہم 10،000 سے گنا. 475 00:26:05,220 --> 00:26:08,380 اور پھر ہم ایک int کے طور پر پرنٹ. 476 00:26:08,380 --> 00:26:09,630 اس کی پیداوار کرتا ہے؟ 477 00:26:09,630 --> 00:26:11,600 478 00:26:11,600 --> 00:26:14,020 10،000 بار 1.31. 479 00:26:14,020 --> 00:26:18,761 تو 13،000، لگتا ہے؟ 480 00:26:18,761 --> 00:26:20,685 >> سامعین: میں یہ 10،000 ہے. 481 00:26:20,685 --> 00:26:24,234 >> ڈین: تو میں 10،000 کی طرف سے اس ضرب ہوں میں اس کے ڈال رہا ہوں اس سے پہلے کہ. 482 00:26:24,234 --> 00:26:25,202 >> سامعین: اوہ. 483 00:26:25,202 --> 00:26:27,622 وہاں ایک 9 نہیں ہو گا اور کچھ 0 تعداد؟ 484 00:26:27,622 --> 00:26:29,270 >> ڈین: آپ کو کچھ عجیب ہندسوں ہو سکتا ہے. 485 00:26:29,270 --> 00:26:32,410 486 00:26:32,410 --> 00:26:37,670 تو ٹھیک ہے، یہ 1.3 گنا 10،000 ہے. 487 00:26:37,670 --> 00:26:40,040 تو ہے کہ 13،000 ہے. 488 00:26:40,040 --> 00:26:41,313 اور اس اضافی weird-- 489 00:26:41,313 --> 00:26:42,160 >> سامعین: 13.100. 490 00:26:42,160 --> 00:26:42,650 >> ڈین: 13.100. 491 00:26:42,650 --> 00:26:44,910 ، روب آپ کا شکریہ. 492 00:26:44,910 --> 00:26:46,610 اور اس اضافی weirdness-- 493 00:26:46,610 --> 00:26:48,060 اس 9،9-- 494 00:26:48,060 --> 00:26:53,860 ہے صرف اس کاسٹنگ کیونکہ ختم نیچے جہاں پکڑ دھکڑ 495 00:26:53,860 --> 00:26:55,394 یہ نہیں ہونا چاہئے. 496 00:26:55,394 --> 00:26:55,871 جی ہاں. 497 00:26:55,871 --> 00:26:58,256 >> سامعین: معدنیات سے متعلق ہوتا ہے کچھ اور ہے؟ 498 00:26:58,256 --> 00:27:03,865 >> ڈین: کیونکہ تو میں نے اسے، پرنٹ یہ ہے اس سے پہلے اس ضرب کرتا ہے 499 00:27:03,865 --> 00:27:05,230 اس کاسٹنگ کرتا ہے. 500 00:27:05,230 --> 00:27:06,140 >> سامعین: [اشراوی]. 501 00:27:06,140 --> 00:27:11,350 >> ڈین: میں، یہ سب سے پہلے ڈالا جائے گا لگتا ہے جی ہاں، 10،000 جس کے ہو جائے گا. 502 00:27:11,350 --> 00:27:12,610 اور کچھ؟ 503 00:27:12,610 --> 00:27:13,330 ڈاؤن لوڈ، اتارنا. 504 00:27:13,330 --> 00:27:16,344 تو اس 13.099 ہے. 505 00:27:16,344 --> 00:27:17,840 یہ کیوں ہوتا ہے؟ 506 00:27:17,840 --> 00:27:18,900 گئی imprecision. 507 00:27:18,900 --> 00:27:21,020 >> floats کے کامل نہیں ہیں. 508 00:27:21,020 --> 00:27:27,550 وہ صرف ایک کی تعداد کی نمائندگی کر سکتے ہیں اہم اعداد و شمار کی مخصوص تعداد. 509 00:27:27,550 --> 00:27:35,120 ہم پر 8 SIG انجیر پرنٹ تو اس فلوٹ، ہم نے ایک قسم کے حاصل 510 00:27:35,120 --> 00:27:36,800 بدسورت لگ تعداد. 511 00:27:36,800 --> 00:27:45,580 اور اس کی وجہ سے 1.31 درست نہیں کر سکتے ہیں سادہ کی طرف سے نمائندگی کیا جائے 512 00:27:45,580 --> 00:27:49,000 مشین میں دو کے اختیارات. 513 00:27:49,000 --> 00:27:53,530 یہ قریب ترین لینے ختم ہو جاتی ہے تو جس ختم ہوتا ہے، لگتا ہے 514 00:27:53,530 --> 00:27:55,710 تھوڑا کم ہونے کی وجہ سے. 515 00:27:55,710 --> 00:27:57,730 احساس ہے؟ 516 00:27:57,730 --> 00:27:59,110 ٹھیک ہے. 517 00:27:59,110 --> 00:28:05,840 >> اب، تبدیل کی ایک مختلف طریقہ ہے مشروط بیانات جہاں تمام کر 518 00:28:05,840 --> 00:28:09,900 ہم ایک متغیر ہے کے بارے میں پرواہ. 519 00:28:09,900 --> 00:28:16,570 تو اس مخصوص مثال میں، ہم ہیں صارف کی طرف سے ایک عددی حاصل کرنے کے. 520 00:28:16,570 --> 00:28:21,070 اور پھر ہم دیکھ رہے ہیں اس عددی کیا ہے. 521 00:28:21,070 --> 00:28:23,500 شاید، یہ تعداد ہے ایک اور چار کے درمیان. 522 00:28:23,500 --> 00:28:24,800 یہی ہے جو ہم کے لئے پوچھ رہے ہیں. 523 00:28:24,800 --> 00:28:28,450 >> تو تم میں سے ایک سوئچ کرنا متغیر کے نام. 524 00:28:28,450 --> 00:28:34,290 اس کے بعد آپ کو ممکن کے مقدمات قائم یہ ہو سکتا ہے اہمیت. 525 00:28:34,290 --> 00:28:37,730 تو ایک کیس، یہ کم کا کہنا ہے کہ. 526 00:28:37,730 --> 00:28:41,080 اور پھر آپ کو حاصل کرنے کے لئے توڑ سوئچ حالت کی تو 527 00:28:41,080 --> 00:28:43,270 آپ جا رکھنے کے لئے نہیں. 528 00:28:43,270 --> 00:28:44,830 >> اگلا صورت میں 529 00:28:44,830 --> 00:28:46,940 تو کیس کے دو اور کیس three-- 530 00:28:46,940 --> 00:28:51,920 اس کیس کے دو ہے تو یہ صرف کرنے کے لئے نیچے گرتا اس کے ساتھ کے طور پر دیکھتا کوڈ کی پہلی لائن 531 00:28:51,920 --> 00:28:55,400 یہ ایک وقفے کے دیکھتا ہے جب تک تین کیس. 532 00:28:55,400 --> 00:29:00,430 تو اس کی وجہ سے آپ کو کیس کے ایک حاصل صرف پرنٹ کم ہے کیونکہ 533 00:29:00,430 --> 00:29:01,890 یہاں اس وقفے. 534 00:29:01,890 --> 00:29:05,360 میں تو، کا کہنا ہے کہ، اس break-- نظر انداز میں اس breakaway-- پھینک دیا تو 535 00:29:05,360 --> 00:29:09,740 یہ کم پرنٹ گی، اور پھر یہ کریں گے مشرق پرنٹ، اور پھر اسے توڑ. 536 00:29:09,740 --> 00:29:12,200 >> ٹوٹ ایک اہم حصہ ہیں تو کے حالات سوئچ اور 537 00:29:12,200 --> 00:29:14,340 وہ وہاں ہونا چاہئے. 538 00:29:14,340 --> 00:29:20,070 واضح طور پر بیان نہیں کر رہے ہیں کہ کسی بھی مقدمات ڈیفالٹ کی طرف سے نمٹا جاتا ہے 539 00:29:20,070 --> 00:29:26,645 اور سوئچ میں کیس ڈالا جانا چاہئے. 540 00:29:26,645 --> 00:29:31,363 >> سامعین: تو 1، 2، 3، اور 4 ن ہو گا؟ 541 00:29:31,363 --> 00:29:33,310 >> ڈین: N ہو سکتا ہے کہ اقدار. 542 00:29:33,310 --> 00:29:34,654 جی ہاں. 543 00:29:34,654 --> 00:29:35,146 جی ہاں؟ 544 00:29:35,146 --> 00:29:37,606 >> سامعین: تو آپ کے پاس جب [اشراوی]؟ 545 00:29:37,606 --> 00:29:44,002 546 00:29:44,002 --> 00:29:46,830 >> ڈین: آپ تو کم پرنٹ، اور کرے گا یہ قرون پرنٹ، اور کرے گا 547 00:29:46,830 --> 00:29:47,400 پھر اس کو توڑ. 548 00:29:47,400 --> 00:29:50,244 >> سامعین کیوں پرنٹ گی مشرق تو [اشراوی]؟ 549 00:29:50,244 --> 00:29:54,036 550 00:29:54,036 --> 00:30:00,550 >> ڈین: ایک کیس کے تحت تو سب کچھ ایک وقفے کے تحت آتا ہے سے پہلے. 551 00:30:00,550 --> 00:30:09,390 تو کیس ایک پرنٹ کے نیچے معاملہ ہے کے طور پر اس میں مندرجہ ذیل پرنٹ ہے. 552 00:30:09,390 --> 00:30:09,890 جی ہاں؟ 553 00:30:09,890 --> 00:30:11,140 >> سامعین: [اشراوی]؟ 554 00:30:11,140 --> 00:30:15,890 555 00:30:15,890 --> 00:30:22,170 >> ڈین: تو یہ تعداد صرف ایک خاص ہے قیمت ہے کہ اس متغیر 556 00:30:22,170 --> 00:30:23,420 حق، لے سکتا ہے؟ 557 00:30:23,420 --> 00:30:26,740 558 00:30:26,740 --> 00:30:28,490 اس کا کوئی مطلب ہے؟ 559 00:30:28,490 --> 00:30:28,990 جی ہاں. 560 00:30:28,990 --> 00:30:31,490 >> سامعین: [اشراوی]؟ 561 00:30:31,490 --> 00:30:34,130 >> ڈین: جی ہاں، کیس کے دو پرنٹ گی مشرق اور پھر توڑ. 562 00:30:34,130 --> 00:30:35,380 >> سامعین: [اشراوی]؟ 563 00:30:35,380 --> 00:30:37,954 564 00:30:37,954 --> 00:30:40,050 >> ڈین: میں کسی بھی ہے؟ 565 00:30:40,050 --> 00:30:43,855 کیا دیگر ڈیٹا کی اقسام تم پر سوئچ کر سکتے ہیں؟ 566 00:30:43,855 --> 00:30:46,320 >> سامعین: آپ کو تبدیل کر سکتے ہیں کسی بھی اعداد و شمار اقسام پر. 567 00:30:46,320 --> 00:30:50,905 لیکن یہ صرف حروف پر کچھ کا مطلب ہے کہ اور ints اور اس طرح کی چیزیں، کیونکہ 568 00:30:50,905 --> 00:30:55,600 آپ کو ایک پوائنٹر پر سوئچنگ رہے ہیں یہ واقعی، کوئی مطلب نہیں ہے 569 00:30:55,600 --> 00:30:59,555 یہ بھی دو تو، بوجھ زیادہ سوئچنگ آپ کی وجہ سے چل نقاط کے، یہ کرتے 570 00:30:59,555 --> 00:31:02,840 صحت سے متعلق میں، آپ کو واقعی نہیں کرے گا ویسے بھی ایسا کرنا چاہتے ہیں. 571 00:31:02,840 --> 00:31:07,320 بہت خوبصورت، صرف ints اور اس طرح حروف اور سامان. 572 00:31:07,320 --> 00:31:12,360 >> ڈین: آپ واضح ہے جب جی ہاں، یہ ہے آپ کو پتہ ہے کہ اقدار، مجھے لگتا ہے کہ، ہو سکتا ہے 573 00:31:12,360 --> 00:31:14,250 کہ ایک سوئچ اصل میں مفید ہے. 574 00:31:14,250 --> 00:31:17,094 575 00:31:17,094 --> 00:31:18,990 اچھا؟ 576 00:31:18,990 --> 00:31:21,370 ٹھیک ہے. 577 00:31:21,370 --> 00:31:26,180 >> گنجائش ایک اعلان ہے کہ رینج ہے متغیر توسیع. 578 00:31:26,180 --> 00:31:32,190 میں نے کوڈ کا یہ تھوڑا سا حصہ میں تو، یہ غلطیوں سے بھری ہو گی. 579 00:31:32,190 --> 00:31:41,450 اور وجہ سے میں اس int اعلان ہے میں لوپ کے لئے اس کے دائرہ کار کے اندر اندر. 580 00:31:41,450 --> 00:31:46,390 اور پھر میں نے اس کے حوالہ کرنے کے لئے کوشش کر رہا ہوں میں لوپ کے دائرہ کار کے لئے اس سے باہر. 581 00:31:46,390 --> 00:31:50,330 >> تو بنیادی طور پر، آپ کے دائرہ کار کے بارے میں سوچ کر سکتے ہیں آپ کا اعلان ہے کہ کچھ کے طور پر 582 00:31:50,330 --> 00:31:59,750 گھوبگھرالی منحنی خطوط وحدانی کی ایک سیٹ کے اندر کے ساتھ صرف ان گھوبگھرالی منحنی خطوط وحدانی کے اندر اندر موجود ہے. 583 00:31:59,750 --> 00:32:04,990 اور آپ کو کرنے کی کوشش کریں اور اس کے متغیر کا استعمال کرتے ہیں ان گھوبگھرالی منحنی خطوط وحدانی کے باہر، تمہیں 584 00:32:04,990 --> 00:32:08,356 سنکلک کی طرف سے ایک غلطی ملتی ہے. 585 00:32:08,356 --> 00:32:08,812 جی ہاں؟ 586 00:32:08,812 --> 00:32:09,724 >> سامعین: تو یہ ایک کام نہیں کرتا؟ 587 00:32:09,724 --> 00:32:11,790 >> ڈین: یہ جی ہاں، کام نہیں کرتا. 588 00:32:11,790 --> 00:32:17,190 589 00:32:17,190 --> 00:32:18,660 ڈور. 590 00:32:18,660 --> 00:32:19,780 سلک ایک چار *. 591 00:32:19,780 --> 00:32:22,250 وہ بالکل ایک جیسے ہیں. 592 00:32:22,250 --> 00:32:25,540 وہ صرف حروف اشارہ ہیں. 593 00:32:25,540 --> 00:32:33,000 اور آپ کے پاس ہے کہ کسی بھی ڈور ختم کرنا چاہئے صرف ہے جو الٹا سلیش صفر، کے ساتھ 594 00:32:33,000 --> 00:32:34,410 سی کنونشن. 595 00:32:34,410 --> 00:32:36,680 >> یہ نل ٹرمنیٹر کہا جاتا ہے. 596 00:32:36,680 --> 00:32:39,050 اور شہوت انگیز null 597 00:32:39,050 --> 00:32:41,670 دارالحکومت N، دارالحکومت یو، دارالحکومت L، دارالحکومت L-- 598 00:32:41,670 --> 00:32:44,290 کے طور پر ایک ہی نہیں ہے null مختتم. 599 00:32:44,290 --> 00:32:46,640 یہ ایک پوائنٹر ہے. 600 00:32:46,640 --> 00:32:48,280 یہ ایک کردار ہے. 601 00:32:48,280 --> 00:32:49,530 وہ بہت واضح ہیں. 602 00:32:49,530 --> 00:32:50,200 یہ یاد رکھیں. 603 00:32:50,200 --> 00:32:52,320 شاید، کوئز پر ہو جائے گا. 604 00:32:52,320 --> 00:32:54,040 میں کوئز نہیں دیکھا ہے. 605 00:32:54,040 --> 00:32:57,880 606 00:32:57,880 --> 00:32:58,840 جی ہاں؟ 607 00:32:58,840 --> 00:33:01,232 >> سامعین: تو نل پوائنٹر، کا کہنا ہے کہ، ہے؟ 608 00:33:01,232 --> 00:33:01,995 >> ڈین: جی ہاں. 609 00:33:01,995 --> 00:33:05,170 >> سامعین: [اشراوی] ہے؟ 610 00:33:05,170 --> 00:33:10,050 >> ڈین:، کا کہنا ہے کہ، کی malloc کہا جاتا ہے جب آپ حاصل کرنے کے لئے کافی میموری نہیں ہے 611 00:33:10,050 --> 00:33:14,400 جو کچھ بھی آپ کے لئے پوچھ رہے ہیں کے سائز، malloc نل واپس آ جائیں گے. 612 00:33:14,400 --> 00:33:19,550 ایک تقریب ہے، جب بھی یہ، بنیادی طور پر، ہے پوائنٹر واپس کرنے کی توقع، آپ 613 00:33:19,550 --> 00:33:22,600 نل کیونکہ خلاف چیک کرنے کی ضرورت نل ایک خوبصورت good-- ہے 614 00:33:22,600 --> 00:33:25,260 اس، طرح کی، ردی کی ٹوکری کی قیمت ہے. 615 00:33:25,260 --> 00:33:27,050 یہ اب تک اشارہ کے طور پر جانا ایک صفر ہے. 616 00:33:27,050 --> 00:33:29,630 617 00:33:29,630 --> 00:33:32,250 >> جب بھی آپ کو ایک تقریب کہتے ہیں، کہ ایک پوائنٹر واپس. 618 00:33:32,250 --> 00:33:35,960 اگر آپ کو چیک کرنے کے لئے چاہتے ہیں کے لئے جا رہے ہیں وہ پوائنٹر نل نہیں ہے کہ اس بات کا یقین 619 00:33:35,960 --> 00:33:37,760 نل بہت عام ہے کیونکہ. 620 00:33:37,760 --> 00:33:40,160 یہ ردی کی ٹوکری کی واپسی کی طرح ہے. 621 00:33:40,160 --> 00:33:44,902 کچھ ٹھیک نہیں کیا تو، صرف بجائے نل واپس. 622 00:33:44,902 --> 00:33:45,898 >> سامعین: [اشراوی]؟ 623 00:33:45,898 --> 00:33:48,922 >> ڈین: جی ہاں، اور یہ کہ اس ہے. 624 00:33:48,922 --> 00:33:51,750 >> سامعین: [اشراوی]؟ 625 00:33:51,750 --> 00:33:52,800 >> ڈین: یہ کے طور پر ہجے. 626 00:33:52,800 --> 00:33:54,150 یہ null مختتم ہے. 627 00:33:54,150 --> 00:33:56,560 یہ چھوٹے N-U-L-L اگر آپ کو اس کے ہجے کر رہے ہیں. 628 00:33:56,560 --> 00:33:59,860 >> سامعین: اور میں صرف گیا واپس اور اس کا تجربہ کیا. 629 00:33:59,860 --> 00:34:03,010 اور آپ کو ایک چل نقاط ڈال کرنے کی کوشش کرتا ہے تو ایک سوئچ میں قیمت، یہ تم پر چللاو گا 630 00:34:03,010 --> 00:34:05,916 کہہ، بیان اظہار کی ضرورت ہے عددی قسم کی. 631 00:34:05,916 --> 00:34:07,166 >> ڈین: تم وہاں جاؤ. 632 00:34:07,166 --> 00:34:09,639 633 00:34:09,639 --> 00:34:12,246 لیکن ہاں، سوال پھر کیا تھا؟ 634 00:34:12,246 --> 00:34:13,496 >> سامعین: [اشراوی]؟ 635 00:34:13,496 --> 00:34:16,150 636 00:34:16,150 --> 00:34:23,679 >> ڈین تو دارالحکومت N، دارالحکومت یو، دارالحکومت L، دارالحکومت L ایک حقیقی سی بات ہے. 637 00:34:23,679 --> 00:34:29,719 یہ null پوائنٹر ہے اور کرے گا صرف اس طرح کے طور پر علاج کیا جائے. 638 00:34:29,719 --> 00:34:33,530 کیا تم نے کبھی کی کوشش کریں اور جادو نہیں کرے گا نل کردار اور کسی بھی دیکھیں 639 00:34:33,530 --> 00:34:35,630 اس سے دوسرے طریقے سے. 640 00:34:35,630 --> 00:34:36,610 جی ہاں؟ 641 00:34:36,610 --> 00:34:42,490 >> سامعین: تو زیادہ سے زیادہ چار کرنے کے لئے واپس لوٹنے یا نوٹوں میں کچھ، یہ کرے گا 642 00:34:42,490 --> 00:34:43,960 ایک ہی تقریب ہنستے [اشراوی] ہے؟ 643 00:34:43,960 --> 00:34:50,655 644 00:34:50,655 --> 00:34:54,949 >> سامعین: تو آپ حوالہ دے رہے ہیں GetChar کہ سے چار زیادہ سے زیادہ واپس لوٹنے، یا 645 00:34:54,949 --> 00:34:55,444 جو کچھ بھی یہ ہے؟ 646 00:34:55,444 --> 00:34:55,940 >> سامعین: جی ہاں. 647 00:34:55,940 --> 00:34:58,620 >> سامعین: جی ہاں، عام طور پر تو ان تمام چیزوں کے لئے مدت 648 00:34:58,620 --> 00:34:59,920 پرہری اقدار ہیں. 649 00:34:59,920 --> 00:35:03,640 تو GetInt سے int زیادہ سے زیادہ واپس آنے کی طرح اور GetChar سے چار زیادہ سے زیادہ، یہ ہے 650 00:35:03,640 --> 00:35:06,010 تو، ٹھیک ہے، کی طرح ہونا چاہیے ان چیزوں کو، ہم سے واپس آ رہے ہیں 651 00:35:06,010 --> 00:35:07,210 کچھ غلط ہو گیا. 652 00:35:07,210 --> 00:35:09,950 >> اشارہ کے لئے، ہم صرف ہے ہو اس سینٹینل قدر ہے کہ سب 653 00:35:09,950 --> 00:35:10,750 صلی اللہ علیہ وسلم سے اتفاق کرتے ہیں. 654 00:35:10,750 --> 00:35:13,210 اور یہ آپ کو واپس بات ہے جب کچھ غلط. 655 00:35:13,210 --> 00:35:15,910 لہذا کے چار، زیادہ سے زیادہ ہم استعمال کر رہے ہیں کیا ہے کچھ کی نمائندگی کرنے 656 00:35:15,910 --> 00:35:18,100 نل یا GetChar کہ طرح. 657 00:35:18,100 --> 00:35:23,420 >> سامعین: آپ GetChar کہ جانچ کر رہے ہیں اگر ایسا ہے تو، آپ کو صرف نل ڈال سکتے ہیں؟ 658 00:35:23,420 --> 00:35:23,910 کہ ایک فرق پڑے گا؟ 659 00:35:23,910 --> 00:35:25,400 >> ڈین: آپ صرف نل چیک نہیں کر سکتے ہیں. 660 00:35:25,400 --> 00:35:30,130 آپ کی وجہ سے زیادہ سے زیادہ چار چیک کرنا پڑے گا تقریب سے واپسی کی قیمت ہے 661 00:35:30,130 --> 00:35:35,416 ایک کردار نہیں پوائنٹر. 662 00:35:35,416 --> 00:35:35,888 جی ہاں؟ 663 00:35:35,888 --> 00:35:38,248 >> سامعین: یہ سوال پوچھتا ہے سٹرنگ کی لمبائی کے لئے. 664 00:35:38,248 --> 00:35:40,136 نل کردار شامل ہے کہ ہے؟ 665 00:35:40,136 --> 00:35:41,000 >> ڈین: نمبر 666 00:35:41,000 --> 00:35:45,930 اور یہ کہ کس طرح سٹرنگ کی لمبائی اصل اس کے ذریعے جاتا ہے کیونکہ کو روکنے کے لئے جانتا ہے 667 00:35:45,930 --> 00:35:49,070 حروف کی صف تک یہ شہوت انگیز null کردار دیکھتا ہے. 668 00:35:49,070 --> 00:35:51,030 اور پھر یہ سب، کی طرح ہے ٹھیک ہے، میں کیا کر رہا ہوں. 669 00:35:51,030 --> 00:35:52,130 >> سامعین: [اشراوی] پانچ؟ 670 00:35:52,130 --> 00:35:53,990 >> ڈین: ہیلو پانچ ہو جائے گی. 671 00:35:53,990 --> 00:35:55,240 جی ہاں. 672 00:35:55,240 --> 00:35:59,580 673 00:35:59,580 --> 00:36:02,880 تو arrays مسلسل ہیں میموری کے بلاکس. 674 00:36:02,880 --> 00:36:08,480 وہ کہہ کر فوری طور پر رسائی حاصل ہے گھوبگھرالی میں، صف کے نام اور اس کے بعد 675 00:36:08,480 --> 00:36:16,720 آپ جانا چاہتے ہیں جو کچھ بھی انڈیکس منحنی خطوط وحدانی، ، وہ کے ذریعے صفر سے حساب سے ترتیب کر رہے ہیں کرنے کے لئے 676 00:36:16,720 --> 00:36:20,100 1 مائنس صف کی لمبائی. 677 00:36:20,100 --> 00:36:23,070 >> اور وہ کی قسم کی طرف سے اعلان کر رہے ہیں آپ میں ذخیرہ کرنے کر رہے ہیں کہ بات 678 00:36:23,070 --> 00:36:29,750 سرنی، صف کے نام، اور پھر جو کچھ بھی سائز اس صف کی ہے. 679 00:36:29,750 --> 00:36:36,660 تو اس کی لمبائی کی ایک چار صف ہے، ان اقدار ہے کہ چھ. 680 00:36:36,660 --> 00:36:42,050 681 00:36:42,050 --> 00:36:42,700 جی ہاں؟ 682 00:36:42,700 --> 00:36:43,950 >> سامعین: [اشراوی]؟ 683 00:36:43,950 --> 00:36:47,980 684 00:36:47,980 --> 00:36:48,460 >> ڈین: جی ہاں. 685 00:36:48,460 --> 00:36:51,340 >> سامعین: [اشراوی]؟ 686 00:36:51,340 --> 00:36:56,700 >> ڈین: آپ کیا جا رہا ہے ہے، تو صف میں پہلے ہی بنا دیا. 687 00:36:56,700 --> 00:37:02,260 تو آپ اس کے بجائے اس کی وضاحت کر سکتے ہیں کے طور پر، کا کہنا ہے کہ، چار، جو بھی نام آپ 688 00:37:02,260 --> 00:37:12,200 صف خالی بریکٹ گھوبگھرالی برابر، ہے H کوما ای کوما L کوما L کوما تیار 689 00:37:12,200 --> 00:37:16,290 اے کوما نل کردار اور گھوبگھرالی منحنی خطوط وحدانی. 690 00:37:16,290 --> 00:37:18,180 یہ بھی ایک اعلان کے طور پر کام کرے گا. 691 00:37:18,180 --> 00:37:20,886 >> سامعین: [اشراوی]؟ 692 00:37:20,886 --> 00:37:23,110 >> ڈین: تو پھر آپ کو کرنے کی ضرورت ہے سائز پہلے ہی بنا دیا. 693 00:37:23,110 --> 00:37:23,896 >> سامعین: [اشراوی]؟ 694 00:37:23,896 --> 00:37:25,146 >> ڈین: جی ہاں. 695 00:37:25,146 --> 00:37:30,114 696 00:37:30,114 --> 00:37:32,420 تمام righty. 697 00:37:32,420 --> 00:37:36,430 کمانڈ لائن کے دلائل کا ایک طریقہ ہیں صارف کے طور پر سے ان پٹ 698 00:37:36,430 --> 00:37:39,380 اہم دلائل. 699 00:37:39,380 --> 00:37:40,600 مین دو دلائل لیتا ہے. 700 00:37:40,600 --> 00:37:47,680 جا رہا ہے کہ دلائل کی تعداد کمانڈ لائن اور ایک ساتھ منظور 701 00:37:47,680 --> 00:37:55,340 سٹرنگ ویکٹر یا ایک تار صف دلائل میں سے سب سے. 702 00:37:55,340 --> 00:38:07,840 >> تو میں کہتا ہوں،، اس طرح کے طور پر ایک تقریب میں بلایا تو 1 خلائی، خلائی 2، تین ایک نقطہ، 703 00:38:07,840 --> 00:38:10,110 جہاں argc 4 ہو جائے گا. 704 00:38:10,110 --> 00:38:17,370 اور argv 0 باہر ایک نقطہ ہو جائے گا. 705 00:38:17,370 --> 00:38:19,130 Argv1 1 ہو جائے گا. 706 00:38:19,130 --> 00:38:23,030 argv2 2. argv3 ہو جائے گا ہو جائے گا 3، اس خاص معاملے میں. 707 00:38:23,030 --> 00:38:23,310 جی ہاں؟ 708 00:38:23,310 --> 00:38:25,400 >> سامعین: [اشراوی]؟ 709 00:38:25,400 --> 00:38:34,010 >> ڈین: صف میں آخری عنصر صف کی لمبائی جہاں argc ہے کیونکہ اس کے علاوہ 710 00:38:34,010 --> 00:38:41,050 argb میں سے ایک، آخری عنصر null پوائنٹر ہے. 711 00:38:41,050 --> 00:38:42,580 یہ جہاں argc علاوہ 1 ہے. 712 00:38:42,580 --> 00:38:46,210 713 00:38:46,210 --> 00:38:52,150 میں نے صرف یہ کہا کہ اس صورت میں تو 0 میں argv کیا جائے گا باہر ایک نقطہ ہے. 714 00:38:52,150 --> 00:38:56,330 argv کے 1 1. argv2 3 3 2. ہے argv ہے. 715 00:38:56,330 --> 00:39:03,490 ایک بڑا ہے جس میں argv کے 4، جہاں argc سے نل ہو گا. 716 00:39:03,490 --> 00:39:04,870 >> اور یہ کہ نل پوائنٹر ہے. 717 00:39:04,870 --> 00:39:06,590 جی ہاں. 718 00:39:06,590 --> 00:39:11,250 سٹرنگ ہے کیونکہ اور یہ کہ ہے ایک چار ستارہ پوائنٹر ہے. 719 00:39:11,250 --> 00:39:14,102 تو یہ اسی قسم کا ہونا ضروری ہے. 720 00:39:14,102 --> 00:39:14,595 جی ہاں؟ 721 00:39:14,595 --> 00:39:16,074 >> سامعین: دو سوالات. 722 00:39:16,074 --> 00:39:21,004 تو ایک، فرق کے درمیان کیا ہے ایک قسم کے مقابلے میں دوسرے کو اس اور GetString 723 00:39:21,004 --> 00:39:22,483 صارف کے انجن میں؟ 724 00:39:22,483 --> 00:39:25,934 اور دو، اس کے اندر اندر محفوظ کیا جاتا ہے آپ کے حالیہ میموری؟ 725 00:39:25,934 --> 00:39:28,399 تو طرح، GetString کے گے [اشراوی] ہے؟ 726 00:39:28,399 --> 00:39:31,357 727 00:39:31,357 --> 00:39:33,650 >> ڈین: یہ کہاں ذخیرہ کیا جاتا ہے؟ 728 00:39:33,650 --> 00:39:34,905 یہ ذخیرہ ہے جہاں مجھے پتہ نہیں ہے. 729 00:39:34,905 --> 00:39:40,000 >> سامعین: تو، اصل میں، آپ کو کس طرح کسی کو معلوم ہے آپ کو اس کے دلائل کی کال کی تقریب 730 00:39:40,000 --> 00:39:42,170 اسٹیک میں محفوظ کیا جاتا ہے؟ 731 00:39:42,170 --> 00:39:46,610 تو argc اور argv دلائل اہم ہیں اور وہ اسٹیک پر ہیں، یا واقعی 732 00:39:46,610 --> 00:39:49,131 صرف آپ کے طور پر لگتا ہے کہ کیا اوپر اسٹیک کے آغاز. 733 00:39:49,131 --> 00:39:53,490 دوسرے حصہ کیا تھا سوال کا؟ 734 00:39:53,490 --> 00:39:56,821 >> سامعین: تو کیا ہے [اشراوی]؟ 735 00:39:56,821 --> 00:40:00,990 >> ڈین: جی ہاں، یہ صرف ایک مختلف طریقہ ہے کا صارف سے ان پٹ. 736 00:40:00,990 --> 00:40:06,030 یہ ایک تھوڑا سا زیادہ موثر اور اس سکرپٹ کے لئے handier ہے آپ کی وجہ سے 737 00:40:06,030 --> 00:40:10,070 صرف آپ کے اہم دلائل منتقل کر سکتی ہیں تقریب بلکہ انتظار کرنا ہونے سے 738 00:40:10,070 --> 00:40:13,400 کے صارفین کے لئے آپ کو کسی بھی صارفین کی ضرورت نہیں ہے. 739 00:40:13,400 --> 00:40:16,280 >> سامعین: اور ہاں، ڈور حاصل [اشراوی] ہو جائے گا. 740 00:40:16,280 --> 00:40:17,922 یہ آپ کی ضرورت کی چیزیں جمع کریں گے. 741 00:40:17,922 --> 00:40:18,834 >> ڈین: جی ہاں؟ 742 00:40:18,834 --> 00:40:21,114 >> سامعین: [اشراوی]؟ 743 00:40:21,114 --> 00:40:27,545 >> ڈین: جی ہاں، ہے argv 0 ہمیشہ شامل ہیں ڈاٹ تقریب کال کی کمی. 744 00:40:27,545 --> 00:40:28,042 جی ہاں؟ 745 00:40:28,042 --> 00:40:29,292 >> سامعین: [اشراوی]؟ 746 00:40:29,292 --> 00:40:33,509 747 00:40:33,509 --> 00:40:37,310 >> ڈین: جی ہاں، دلائل میں سے ہر ایک ہیں نل کردار میں ختم کیونکہ وہ 748 00:40:37,310 --> 00:40:38,310 ڈور ہیں. 749 00:40:38,310 --> 00:40:40,892 >> سامعین: [اشراوی]؟ 750 00:40:40,892 --> 00:40:44,116 >> ڈین: جی ہاں، argv کے جہاں argc ایک نل پوائنٹر ہے. 751 00:40:44,116 --> 00:40:45,112 >> سامعین: [اشراوی]؟ 752 00:40:45,112 --> 00:40:47,104 >> ڈین: اوہ ہاں. 753 00:40:47,104 --> 00:40:48,100 جی ہاں، معذرت. 754 00:40:48,100 --> 00:40:49,594 >> سامعین: تو [اشراوی]؟ 755 00:40:49,594 --> 00:41:08,518 756 00:41:08,518 --> 00:41:16,340 >> ڈین: آپ تھا تو سوال ہے تو کمانڈ لائن ڈاٹ، 2، 1 باہر ڈاٹ سلیش 757 00:41:16,340 --> 00:41:20,410 گے کمانڈ لائن کی تعداد دلائل دو یا تین ہو جائے گا؟ 758 00:41:20,410 --> 00:41:24,420 759 00:41:24,420 --> 00:41:28,240 >> سامعین: میں یہ نہیں ہے واقعی کوئی فرق. 760 00:41:28,240 --> 00:41:31,370 میں اوہ، آپ کو منتقل نہیں کیا، کا کہنا ہے کہ کرنے کے لئے ہوتے جب کسی بھی کمانڈ لائن کے دلائل، 761 00:41:31,370 --> 00:41:32,730 ظاہر ہے، آپ کی تقریب میں بلایا. 762 00:41:32,730 --> 00:41:37,950 تو میں vocally میں خارج کرنے کے لئے کرتے ہیں کمانڈ لائن سے تقریب 763 00:41:37,950 --> 00:41:40,350 یہ اگرچہ دلائل argv میں شامل. 764 00:41:40,350 --> 00:41:42,600 >> ڈین: لیکن یہ test-- پر تھا تو 765 00:41:42,600 --> 00:41:46,550 yeah-- اور بھی آپ کو کچھ کہنا ہے تو جہاں argc 3 برابر کی طرح، 766 00:41:46,550 --> 00:41:48,512 آپ کو محفوظ حالت میں ہیں. 767 00:41:48,512 --> 00:41:49,416 جی ہاں؟ 768 00:41:49,416 --> 00:41:50,666 >> سامعین: [اشراوی]؟ 769 00:41:50,666 --> 00:42:00,990 770 00:42:00,990 --> 00:42:09,510 >> ڈین: میں نے تو اس کے بجائے اس بلا کے بارے میں سوچنا argc اور سٹرنگ argv بریکٹ میں 771 00:42:09,510 --> 00:42:14,350 لیکن ایک ہی اقسام رکھا اور صرف ملاقات کی ایک طرح مختلف انہیں کچھ 772 00:42:14,350 --> 00:42:16,640 اور B، یہ اب بھی کام کرے گا؟ 773 00:42:16,640 --> 00:42:18,790 اور یہ اب بھی کام کریں گے، آپ just-- گا 774 00:42:18,790 --> 00:42:21,520 بجائے argc-- کا استعمال کرتے ہوئے آپ کو ایک اور B کا استعمال کروں گا. 775 00:42:21,520 --> 00:42:24,436 776 00:42:24,436 --> 00:42:25,408 جی ہاں؟ 777 00:42:25,408 --> 00:42:26,658 >> سامعین: [اشراوی]؟ 778 00:42:26,658 --> 00:42:34,642 779 00:42:34,642 --> 00:42:38,850 >> ڈین: تو سوال ہے GetString ہے ڈھیر میں میموری کی دکان کے لئے جا 780 00:42:38,850 --> 00:42:42,280 GetString کے چار ہے کیونکہ *. 781 00:42:42,280 --> 00:42:47,530 یہ اس کی وجہ سے ڈھیر میں میموری اسٹورز اصل میں اب malloc کا مطالبہ 782 00:42:47,530 --> 00:42:49,258 GetString کے نفاذ. 783 00:42:49,258 --> 00:42:53,210 784 00:42:53,210 --> 00:42:55,090 ٹھیک ہے، پر منتقل. 785 00:42:55,090 --> 00:42:55,950 >> سیکورٹی. 786 00:42:55,950 --> 00:43:01,090 تو واقعی محفوظ کرنے کے لئے، آپ کو کوئی پر انحصار کرتے ہیں ایک اور آپ کو کسی کی کوئی بھی رسائی کی اجازت 787 00:43:01,090 --> 00:43:04,540 آپ کی معلومات، کی جس کیوں ہے سب، ان کے اپنے مشینوں بناتا ہے 788 00:43:04,540 --> 00:43:09,580 ان کے اپنے آپریٹنگ سسٹمز، ان کے تمام شروع سے پروگراموں، اور ظاہر ہے 789 00:43:09,580 --> 00:43:13,410 کسی بھی دیگر مشینوں سے مربوط نہیں ہے انٹرنیٹ کے ذریعے. 790 00:43:13,410 --> 00:43:17,350 تو کمپیوٹر غیر محفوظ ہیں. 791 00:43:17,350 --> 00:43:19,200 وہ واقعی ہیں. 792 00:43:19,200 --> 00:43:20,940 ہم دوسرے لوگوں پر اعتماد کرنا ہوگا. 793 00:43:20,940 --> 00:43:26,500 >> اور سلامتی کے خیال تم ہے کی رقم کو محدود کرنے کی کوشش 794 00:43:26,500 --> 00:43:27,540 آپ کی ضرورت ہے اعتماد. 795 00:43:27,540 --> 00:43:32,080 اور ذرائع میں سے ایک آپ ایسا خفیہ نگاری کے ذریعے ہے. 796 00:43:32,080 --> 00:43:34,950 خفیہ نگاری، بنیادی طور پر، ہے ہم راز ہے. 797 00:43:34,950 --> 00:43:38,880 >> کبھی کبھی ہم اپنے راز کو منتقل کرنے کے لئے ہے کے ساتھ ساتھ کے ذریعے، کا کہنا ہے کہ، انٹرنیٹ یا 798 00:43:38,880 --> 00:43:39,980 دوسری چیزوں کے. 799 00:43:39,980 --> 00:43:43,180 اور ہم لوگوں کو نہیں چاہتے یہ راز معلوم کرنے کے لئے. 800 00:43:43,180 --> 00:43:50,100 تو ہم نے ایک طریقہ میں ہمارے راز خفیہ کہ ہم کوئی پتہ کر سکتے ہیں امید ہے. 801 00:43:50,100 --> 00:43:51,600 >> تو ہم used-- 802 00:43:51,600 --> 00:43:54,340 اس class-- کے دوران کے ذریعے 803 00:43:54,340 --> 00:44:00,750 کیسر صفر طرح چیزوں اور دونوں بہت، بہت ہیں جو [اشراوی]، 804 00:44:00,750 --> 00:44:03,200 چیزوں کو خفیہ کاری کے غیر محفوظ طریقوں. 805 00:44:03,200 --> 00:44:07,930 انہوں نے اعداد و شمار کرنے کے لئے آسان کر رہے ہیں کیا وہ ہیں اور آپ کے راز کیا ہیں. 806 00:44:07,930 --> 00:44:12,130 حقیقی دنیا کے بہت زیادہ استعمال کرتا ہے پیچیدہ خفیہ کاری کے منصوبوں. 807 00:44:12,130 --> 00:44:13,880 اور ہم میں نہیں ملے گا اس سے کہیں زیادہ. 808 00:44:13,880 --> 00:44:18,280 809 00:44:18,280 --> 00:44:19,430 >> ٹھیک. 810 00:44:19,430 --> 00:44:20,785 GDB سب سے بہتر ہے. 811 00:44:20,785 --> 00:44:24,014 812 00:44:24,014 --> 00:44:25,810 میں نے ایک بار پھر اس پر زور کرنے کے لئے جا رہا ہوں. 813 00:44:25,810 --> 00:44:30,920 GDB ہر وقت ہر استعمال وقت آپ کو کوئی مسئلہ ہے. 814 00:44:30,920 --> 00:44:36,030 GDB میں مفید ہیں کہ حکم آپ کو ایک لائن یا تو گزر جس، توڑ 815 00:44:36,030 --> 00:44:41,330 تعداد، ایک تقریب کے نام، بنیادی طور پر جہاں آپ کے کوڈ میں آپ کو روکنے کے لئے چاہتے ہیں، 816 00:44:41,330 --> 00:44:45,600 اور کنٹرول کرنے کے قابل ہو. 817 00:44:45,600 --> 00:44:54,140 >> پرنٹ ایک متغیر لیتا ہے اور پرنٹ کہ متغیر ہے کہ میں جو کچھ بھی ہے 818 00:44:54,140 --> 00:44:55,990 آپ کے عمل میں نقطہ. 819 00:44:55,990 --> 00:45:00,130 اگلا اپنے عملدرآمد چلتا ہے ایک قدم کے ساتھ ساتھ. 820 00:45:00,130 --> 00:45:05,050 اور ایک تقریب کے اندر اقدامات قدم آپ کے عمل میں. 821 00:45:05,050 --> 00:45:10,480 >> دوسری چیزوں کے لئے کس طرح ہے جس میں، چلاتے ہیں آپ اصل میں آپ کے کوڈ کو چلانے کے. 822 00:45:10,480 --> 00:45:16,630 آگے کی ضرورت ہے تمام اقدامات اگلا بریک پوائنٹ حاصل کرنے کے لئے. 823 00:45:16,630 --> 00:45:18,300 اور بہت سے، بہت سے دوسرے ہیں. 824 00:45:18,300 --> 00:45:19,040 ان کو نظر آئے. 825 00:45:19,040 --> 00:45:19,901 وہ عظیم ہیں. 826 00:45:19,901 --> 00:45:20,863 جی ہاں؟ 827 00:45:20,863 --> 00:45:22,113 >> سامعین: [اشراوی]؟ 828 00:45:22,113 --> 00:45:26,635 829 00:45:26,635 --> 00:45:28,200 >> ڈین: جی ہاں، ایک ٹھیک کرنے والا کھولتا ہے جو. 830 00:45:28,200 --> 00:45:34,230 تو ٹھیک کرنے والا کھولتا ایک پروگرام ہے کہ آپ کو اپنے پروگرام ڈیبگ کی اجازت دیتا ہے. 831 00:45:34,230 --> 00:45:39,931 اس کے لئے کیڑے پائے کہ ایک پروگرام نہیں ہے آپ، اگرچہ کہ بہت اچھا ہو گا. 832 00:45:39,931 --> 00:45:43,020 833 00:45:43,020 --> 00:45:46,040 >> اور تلاش کے میرے لئے آخری ہے. 834 00:45:46,040 --> 00:45:51,470 ہم بات کہ تلاش کی اقسام تو اس کلاس میں کے بارے میں لکیری تلاش کر رہے ہیں، 835 00:45:51,470 --> 00:45:55,960 جس سے آپ کو ہر ایک کے ذریعے نظر آتے ہیں کہ صرف ہے تلاش کی جگہ کے عنصر، ایک 836 00:45:55,960 --> 00:46:00,410 ایک وقت میں عنصر، آپ کو تلاش تک آپ کے لئے یا آپ تک تلاش کر رہے ہیں 837 00:46:00,410 --> 00:46:03,350 آپ کی تلاش کی جگہ کے اختتام ہے جس میں اگر آپ کو تلاش نہیں کر سکتے ہیں کا کہنا ہے کہ کی طرف اشارہ 838 00:46:03,350 --> 00:46:06,360 آپ کے لئے تلاش کر رہے تھے کہ عنصر. 839 00:46:06,360 --> 00:46:13,450 اور یہ، میں بہترین مسلسل وقت لیتا ہے جس 1 0 ہے اور سب سے زیادہ لکیری میں 840 00:46:13,450 --> 00:46:16,070 ن 0 ہے جو وقت،. 841 00:46:16,070 --> 00:46:19,250 >> ضرورت ہے جو بائنری تلاش کے، گھنونا عناصر. 842 00:46:19,250 --> 00:46:24,230 آپ کو آپ کے عناصر کے درمیان جانا، دیکھیں تو آپ کے لئے تلاش کر رہے ہیں عنصر 843 00:46:24,230 --> 00:46:30,120 عنصر سے بڑا یا چھوٹا ہے آپ درمیان میں ہیں. 844 00:46:30,120 --> 00:46:36,510 یہ بڑا ہے، آپ نیچے کا کہنا ہے کہ آپ کی تلاش کی جگہ آپ کی ہے 845 00:46:36,510 --> 00:46:41,550 موجودہ جگہ، مشرق، اور آپ کے عمل کو دوبارہ شروع. 846 00:46:41,550 --> 00:46:46,150 یہ چھوٹا ہے تو، آپ کا کہنا ہے دیکھو جی ہاں، کیا ہو رہا ہے the-- ہے؟ 847 00:46:46,150 --> 00:46:47,400 >> سامعین: [اشراوی]؟ 848 00:46:47,400 --> 00:46:51,000 849 00:46:51,000 --> 00:46:54,260 >> ڈین: جی ہاں. 850 00:46:54,260 --> 00:46:58,360 میں سکھایا گیا ہے کہ اس طرح کی کسی بھی طرح کلاس ٹیسٹ کے لئے مناسب کھیل ہے. 851 00:46:58,360 --> 00:47:01,504 852 00:47:01,504 --> 00:47:04,920 >> [ہنسی] 853 00:47:04,920 --> 00:47:10,260 >> ڈین: اور تم نہیں ہے حقیقت یہ ہے کہ ایک مسئلہ سیٹ کے لئے ایسا کرنے کے لئے، یہ مناسب ہے 854 00:47:10,260 --> 00:47:12,420 ٹیسٹ کے لئے کھیل ہی کھیل میں. 855 00:47:12,420 --> 00:47:15,186 >> سامعین: ہم اس پر کیسے جا سکتے ہیں to-- 856 00:47:15,186 --> 00:47:17,052 >> ڈین: یہ پر چلا جائے گا. 857 00:47:17,052 --> 00:47:20,496 >> اسپیکر 2: کے لئے اصل کوڈ [اشراوی] study.cs50.net پر ہے. 858 00:47:20,496 --> 00:47:25,910 859 00:47:25,910 --> 00:47:32,680 آپ کی مشق کے مسئلہ پر نظر ڈالیں تو تو کے ضم طرح کے صفحے میں 860 00:47:32,680 --> 00:47:35,880 study.cs50.net، کوڈ ہے ضم طرح لاگو کرنے کے لئے. 861 00:47:35,880 --> 00:47:38,550 تو آپ کو لاگو کرنے کے لئے کی ضرورت نہیں ہے یہ اپنے آپ کو آج رات. 862 00:47:38,550 --> 00:47:42,090 لیکن یقین ہے کہ آپ کی بجائے اس کو سمجھ سے صرف یہ یاد. 863 00:47:42,090 --> 00:47:45,035 >> سامعین: [اشراوی]؟ 864 00:47:45,035 --> 00:47:49,720 >> اسپیکر 2: پر ضم طرح صفحہ study.cs50.net، ایک پریکٹس ہے 865 00:47:49,720 --> 00:47:53,570 آپ کے ذریعے پر کلک کریں، اس مسئلہ مسئلہ، بہت آخر میں وہاں ایک 866 00:47:53,570 --> 00:47:56,280 ضم ہے جس کا حل، ترتیب نفاذ. 867 00:47:56,280 --> 00:47:58,510 لیکن اس بات کو یقینی بنانے کے آپ کو یہ سمجھنے بلکہ صرف یہ یاد سے 868 00:47:58,510 --> 00:47:59,760 یا اس کے نیچے کاپی. 869 00:47:59,760 --> 00:48:02,870 870 00:48:02,870 --> 00:48:06,340 >> سامعین: اور ایک بالکل درست امتحان کے لئے مسئلہ ہو جائے گا 871 00:48:06,340 --> 00:48:07,990 یہاں کی طرح کچھ کی ایک فہرست ہے. 872 00:48:07,990 --> 00:48:12,100 اس فہرست کے بعد کی طرح لگتی ہے کیا انتخابات کی طرح ایک قدم یا 873 00:48:12,100 --> 00:48:13,330 اندراج کی طرح یا جو کچھ بھی. 874 00:48:13,330 --> 00:48:14,940 فہرست میں سے ایک مکمل iteration. 875 00:48:14,940 --> 00:48:18,530 آپ کرنے کی ضرورت ختم نہیں کرتے تو یہاں تک کہ اگر اس کے لئے کوڈ، آپ کو یہ سمجھنے کی ضرورت ہے 876 00:48:18,530 --> 00:48:20,440 یہ ہو رہا ہے کہ کس طرح جاننے کے لئے کافی اس صف میں تبدیلی کیا جائے گا. 877 00:48:20,440 --> 00:48:24,144 878 00:48:24,144 --> 00:48:25,394 >> ڈین: یہ میرے لئے ہے. 879 00:48:25,394 --> 00:48:30,604 880 00:48:30,604 --> 00:48:32,588 >> [تالیاں] 881 00:48:32,588 --> 00:49:06,316 882 00:49:06,316 --> 00:49:07,410 >> لوکاس: ارے سب. 883 00:49:07,410 --> 00:49:08,390 میرا نام لوکاس ہے. 884 00:49:08,390 --> 00:49:16,840 میں تمام، تکرار کے بارے میں بات کرنے کے لئے جا رہا ہوں ہم نے سیکھا ہے کہ قسم کے، اور ایک 885 00:49:16,840 --> 00:49:18,050 تمام اشارہ تھوڑا سا. 886 00:49:18,050 --> 00:49:18,740 ٹھیک ہے؟ 887 00:49:18,740 --> 00:49:20,340 تو سب سے پہلے، تکرار. 888 00:49:20,340 --> 00:49:22,951 اس کا کہنا ہے کہ کیا مطلب ہے ایک تقریب پنراورتی ہے؟ 889 00:49:22,951 --> 00:49:24,675 >> سامعین: کہلاتی ہے. 890 00:49:24,675 --> 00:49:26,500 >> لوکاس: ٹھیک ہے، جی ہاں، خود بلاتا. 891 00:49:26,500 --> 00:49:27,700 تو مثال کے طور پر اس کی تصویر، کی طرح. 892 00:49:27,700 --> 00:49:30,280 اس کے اندر کی تصویر کی طرح ہے ایک تصویر کے اور تو. 893 00:49:30,280 --> 00:49:35,740 تو مثال کے طور پر، آپ کو عطیہ کے طور پر have-- کر سکتے ہیں بائنری تلاش کے بارے میں بات کر رہا تھا. 894 00:49:35,740 --> 00:49:41,840 ایک طریقہ جس میں بائنری تلاش ہے پنراورتی تم یہ حقیقت ہے کہ 895 00:49:41,840 --> 00:49:43,130 ایک بڑی تعداد کو تلاش کرنے کی کوشش کر رہے ہیں. 896 00:49:43,130 --> 00:49:44,250 تو آپ درمیان میں جاؤ. 897 00:49:44,250 --> 00:49:47,130 وہاں کی تعداد تو آپ کو چیک بائیں اور دائیں میں. 898 00:49:47,130 --> 00:49:49,650 >> اور پھر آپ کو نمبر ہے باہر تو بائیں پر ہونے جا رہا، یہ ایک ہی ہے 899 00:49:49,650 --> 00:49:53,340 پھر تلاش کر کے طور پر بات لیکن صرف فہرست کے بائیں طرف. 900 00:49:53,340 --> 00:49:57,350 یہ لگتا ہے کس طرح ہے کہ کی طرح اس پنراورتی ہے. 901 00:49:57,350 --> 00:50:01,870 تم لوگوں کو پنراورتی ہے یہی وجہ ہے کہ ضم طرح کے لئے حل. 902 00:50:01,870 --> 00:50:04,270 >> ٹھیک ہے، تو یہاں ایک مثال ہے. 903 00:50:04,270 --> 00:50:07,280 تو میں نے منتخب کرنے کے لئے چاہتے ہیں کا کہنا ہے کہ 1 سے ن تمام نمبر. 904 00:50:07,280 --> 00:50:13,790 مجھے احساس کر سکتے ہیں کہ (ن) کی رقم تعداد ن کے علاوہ ن مائنس 1 1 کرنے کے لئے ہے. 905 00:50:13,790 --> 00:50:17,810 لیکن اس وقت، میں (ن) مائنس 1 پر نظر ڈالیں تو اس کے علاوہ ن مائنس 2 کے علاوہ 1، کہ ایک ہی ہے 906 00:50:17,810 --> 00:50:20,680 میزانی تعداد کے طور پر بات ن مائنس 1 تک. 907 00:50:20,680 --> 00:50:25,890 تو میں نے ایک برابر رقم کی رقم کا کہنا ہے کہ کر سکتے ہیں ن مائنس 1 ن کے علاوہ رقم کے برابر ہے. 908 00:50:25,890 --> 00:50:28,010 اس کا کوئی مطلب ہے؟ 909 00:50:28,010 --> 00:50:32,630 >> اور میں بھی کچھ اور ہوگا کہ ہے جو، بیس کیس کہا جاتا 910 00:50:32,630 --> 00:50:37,440 اپ اعداد کا مجموعہ صفر صفر ہو جائے گا. 911 00:50:37,440 --> 00:50:42,770 تو جیسے ہی میں تعداد حاصل کرنے کے لئے صفر، میں گنتی کو روکنے کے. 912 00:50:42,770 --> 00:50:45,330 اس کا کوئی مطلب ہے؟ 913 00:50:45,330 --> 00:50:48,120 >> تو یہاں ہے کہ کس طرح کی ایک مثال ہے میں اس پر عملدرآمد کر سکتے ہیں. 914 00:50:48,120 --> 00:50:49,860 تو میں نے کچھ میں اس تقریب ہے. 915 00:50:49,860 --> 00:50:51,700 یہ ایک عددی ن لیتا ہے. 916 00:50:51,700 --> 00:50:56,300 (ن) ہے تو میں یہاں سب سے پہلے چیک کم یا صفر کے برابر ہے. 917 00:50:56,300 --> 00:51:00,310 تو یہ، صفر سے کم یا برابر ہے تو مجھے ہماری بنیاد کیس ہے، صفر کو واپس. 918 00:51:00,310 --> 00:51:05,690 دوسری صورت میں، میں صرف واپس آ سکتے ہیں (ن) کے علاوہ تعداد کی رقم کی طرف سے 919 00:51:05,690 --> 00:51:07,190 ن مائنس ون کی ایک. 920 00:51:07,190 --> 00:51:09,360 احساس ہے؟ 921 00:51:09,360 --> 00:51:10,100 ٹھیک ہے. 922 00:51:10,100 --> 00:51:11,610 >> تو یہاں اس کی طرح لگتا ہے. 923 00:51:11,610 --> 00:51:15,260 آپ 2 برابر کی رقم ہے 2 کے علاوہ 1 کی رقم. 924 00:51:15,260 --> 00:51:18,930 اور 1 میں سے کچھ اس کے علاوہ ہے 1 0 ہے جو 0 کی رقم،. 925 00:51:18,930 --> 00:51:20,216 احساس ہے؟ 926 00:51:20,216 --> 00:51:25,342 ہم اسٹیک پر نظر ڈالیں تو تو آپ پروگرام، اس کی طرح لگتا ہے. 927 00:51:25,342 --> 00:51:26,820 >> سب سے پہلے، ہم نے اہم تقریب ہے. 928 00:51:26,820 --> 00:51:30,320 اور پھر اہم تقریب رقم 2 سے ملاقات کی. 929 00:51:30,320 --> 00:51:36,690 اور پھر رقم 2 اوہ، کہنا جا رہا ہے، رقم 2 2 کے علاوہ ایک کی رقم کے برابر ہے. 930 00:51:36,690 --> 00:51:39,460 تو میں اسٹیک 1 کی رقم شامل کریں. 931 00:51:39,460 --> 00:51:43,860 اور 1 کی رقم کی رقم کو فون کرنے جا رہا ہے 0، جس میں بھی شامل کیا جا رہا ہے 932 00:51:43,860 --> 00:51:44,630 اسٹیک. 933 00:51:44,630 --> 00:51:49,240 اور ہیں کہ ان لوگوں کی تو ہر ایک دوسرے کے سب سے اوپر پر واپس کرنے کے لئے ہے 934 00:51:49,240 --> 00:51:52,020 دوسرے لوگ جا رکھنے کے کر سکتے ہیں اس سے پہلے. 935 00:51:52,020 --> 00:51:56,240 >> تو مثال کے طور پر، یہاں، 0 کی رقم، سب سے پہلے، 0 واپس جا رہا ہے. 936 00:51:56,240 --> 00:51:58,320 اور پھر 1 کی رقم کریں. 937 00:51:58,320 --> 00:52:00,850 پھر 1 کی رقم کی جا رہی ہے 2 کی رقم 1 واپس. 938 00:52:00,850 --> 00:52:03,900 اور آخر میں، 2 کی رقم کی جا رہی ہے اہم 3 واپس کرنے کے لئے. 939 00:52:03,900 --> 00:52:05,320 اس کا کوئی مطلب ہے؟ 940 00:52:05,320 --> 00:52:09,496 >> یہ کس طرح سمجھنے کے لئے بہت ضروری ہے اسٹیک کام کرنے اور کرنے کی کوشش ہے 941 00:52:09,496 --> 00:52:11,980 یہ سمجھ میں آتا ہے تو دیکھنے کے. 942 00:52:11,980 --> 00:52:13,260 ٹھیک ہے، تو چھانٹ رہا ہے. 943 00:52:13,260 --> 00:52:16,170 تو کیوں، اہم چھانٹ رہا ہے سب سے پہلے؟ 944 00:52:16,170 --> 00:52:18,260 ہم کیوں دیکھ بھال کرنی چاہیے؟ 945 00:52:18,260 --> 00:52:20,310 کوئی ہے؟ 946 00:52:20,310 --> 00:52:20,695 مجھے ایک مثال دے؟ 947 00:52:20,695 --> 00:52:21,040 جی ہاں؟ 948 00:52:21,040 --> 00:52:22,968 >> سامعین: [اشراوی]. 949 00:52:22,968 --> 00:52:24,700 >> لوکاس: ٹھیک ہے، جی ہاں. 950 00:52:24,700 --> 00:52:26,090 تو آپ کو زیادہ مؤثر طریقے سے تلاش کر سکتے ہیں. 951 00:52:26,090 --> 00:52:28,580 یہ ایک اچھا طریقہ ہے. 952 00:52:28,580 --> 00:52:32,462 تو، مثال کے طور پر، ہم نے ایک بہت ہے چیزیں، اصل میں، میں ہماری زندگی ہے کہ 953 00:52:32,462 --> 00:52:32,920 حل کر رہے ہیں. 954 00:52:32,920 --> 00:52:34,830 مثال کے طور پر، لغات. 955 00:52:34,830 --> 00:52:39,210 >> یہ سب کے لئے بہت اہم ہے کے حکم کی کسی قسم میں الفاظ کہ ہم 956 00:52:39,210 --> 00:52:41,970 آسانی سے تک رسائی حاصل کر سکتے ہیں. 957 00:52:41,970 --> 00:52:43,280 تو ہے کہ وہ کہہ رہا تھا کیا ہے. 958 00:52:43,280 --> 00:52:45,530 آپ کو زیادہ مؤثر طریقے سے تلاش کر سکتے ہیں. 959 00:52:45,530 --> 00:52:48,740 یہ ایک ہے ہو جائے گا کتنا مشکل کے بارے میں سوچو الفاظ میں ہیں جس میں لغت 960 00:52:48,740 --> 00:52:49,500 بے ترتیب ترتیب. 961 00:52:49,500 --> 00:52:53,120 تم، بہت زیادہ، کو دیکھنے کے لئے کرنا پڑے گا ہر ایک لفظ آپ کو تلاش تک 962 00:52:53,120 --> 00:52:54,720 آپ کے لئے تلاش کر رہے ہیں کہ لفظ. 963 00:52:54,720 --> 00:52:58,710 >> تم نے بھی فیس بک استعمال کر رہے ہیں، جب آپ اپنے دوستوں کو تلاش کر رہے ہیں، تم 964 00:52:58,710 --> 00:53:03,540 فیس بک ڈال دیا ہے کہ کو دیکھنے کے لئے جا رہا ہے آپ کی قریب دوست ہیں کے سب سے اوپر پر ہے 965 00:53:03,540 --> 00:53:05,470 آپ زیادہ سے زیادہ اس سے بات نہیں ہے. 966 00:53:05,470 --> 00:53:08,080 آپ کے سب سے نیچے کے لئے تمام طریقہ جاتے ہیں آپ کے دوست کی فہرست، آپ کو دیکھنے کے لئے جا رہے ہیں 967 00:53:08,080 --> 00:53:11,250 شاید آپ بھی نہیں ہے کہ لوگوں آپ کے ساتھ دوست ہیں یاد رکھیں کہ. 968 00:53:11,250 --> 00:53:14,590 اور یہ کہ فیس بک قسم کی وجہ سے ہے کس طرح کی بنیاد پر آپ کے دوستوں کے 969 00:53:14,590 --> 00:53:16,472 تم ان سے ہیں بند. 970 00:53:16,472 --> 00:53:17,930 >> تو ڈیٹا کو منظم کرنے. 971 00:53:17,930 --> 00:53:18,450 علاوہ پوکیمون. 972 00:53:18,450 --> 00:53:21,400 تو آپ سب Pokémons کی کہ دیکھیں تعداد ہے. 973 00:53:21,400 --> 00:53:27,210 اور یہ کہ ایک آسان کی طرح ہے ڈیٹا تک رسائی حاصل کرنے کی راہ. 974 00:53:27,210 --> 00:53:29,050 >> سامعین: پوکیمون تک رسائی. 975 00:53:29,050 --> 00:53:29,890 >> لوکاس: جی ہاں. 976 00:53:29,890 --> 00:53:32,395 >> سامعین: [اشراوی]. 977 00:53:32,395 --> 00:53:33,460 >> لوکاس: جی ہاں. 978 00:53:33,460 --> 00:53:35,140 ٹھیک ہے، تو انتخاب کی طرح. 979 00:53:35,140 --> 00:53:41,610 سلیکشن طرح منتخب کرنے کے لئے کی جا رہی ہے ایک فہرست کی سب سے چھوٹی ناچھانٹا ہوا قیمت ہر 980 00:53:41,610 --> 00:53:43,300 ہر iteration میں وقت. 981 00:53:43,300 --> 00:53:46,800 اس قسم کی آپ کیا اس طرح کی طرح ہے آپ کے سر میں آپ کے لئے کوشش کر رہے ہیں 982 00:53:46,800 --> 00:53:48,430 ہاتھ پر ایک فہرست ترتیب. 983 00:53:48,430 --> 00:53:51,990 >> بنیادی طور پر، آپ سب آپ کو نظر آتے ہے سب سے چھوٹی تعداد کے لئے. 984 00:53:51,990 --> 00:53:54,280 آپ کے مطابق فہرست میں ڈال دیا. 985 00:53:54,280 --> 00:53:56,230 اور پھر آپ کے لئے نظر اگلے سب سے چھوٹی تعداد. 986 00:53:56,230 --> 00:54:00,080 اور پھر آپ کر رکھنے کہ اور تو. 987 00:54:00,080 --> 00:54:04,600 >> تو انتخاب کی طرح آپ بنیادی طور پر ہے ہر وقت کی سب سے چھوٹی منتخب 988 00:54:04,600 --> 00:54:05,750 ناچھانٹا ہوا قیمت. 989 00:54:05,750 --> 00:54:10,840 حل کے آخر میں ڈال دیا فہرست کا حصہ. 990 00:54:10,840 --> 00:54:12,370 اور یہ کہ کر رکھیں. 991 00:54:12,370 --> 00:54:15,890 تو فوری طور پر دیکھتے ہیں کیا اس طرح لگ رہا. 992 00:54:15,890 --> 00:54:19,340 تو یہاں کے مطابق ہے اور ناچھانٹا ہوا کی فہرست. 993 00:54:19,340 --> 00:54:23,350 >> فہرست کے مطابق کے لئے، یہ ابتدائی طور پر خالی ہے. 994 00:54:23,350 --> 00:54:26,760 اور پھر میں نے منتخب کرنے کے لئے جا رہا ہوں 2 ہے جو یہاں سب سے چھوٹی تعداد،. 995 00:54:26,760 --> 00:54:30,650 تو میں نے 2 نمبر حاصل اور میں ڈال دیا فہرست کے سامنے. 996 00:54:30,650 --> 00:54:34,910 اور پھر میں نے اگلے سب سے چھوٹی کے لئے نظر 3 ہے جس میں عنصر،. 997 00:54:34,910 --> 00:54:37,050 تو میں نے آخر میں ڈال دیا مطابق کی فہرست کے. 998 00:54:37,050 --> 00:54:38,140 اور پھر میں نے اس کے کر رکھیں. 999 00:54:38,140 --> 00:54:40,040 میں نے 4 کی تلاش اور آخر میں ڈال دیا. 1000 00:54:40,040 --> 00:54:41,360 5 تلاش کریں اور آخر میں ڈال دیا. 1001 00:54:41,360 --> 00:54:44,830 >> اور ان اوقات میں کس طرح سب پر نظر ہے کہ میں، آخر ہے میں ڈال دیا یہ کہہ رہا ہوں 1002 00:54:44,830 --> 00:54:46,850 بنیادی طور پر، دو اقدار کو گماگمن. 1003 00:54:46,850 --> 00:54:48,100 ٹھیک ہے؟ 1004 00:54:48,100 --> 00:54:50,140 1005 00:54:50,140 --> 00:54:52,825 اور پھر گزشتہ ایک، آپ کو صرف ایک اور عنصر ہے. 1006 00:54:52,825 --> 00:54:55,870 تو یہ پہلے ہی کے مطابق ہے. 1007 00:54:55,870 --> 00:54:57,800 >> ٹھیک ہے، تو اندراج کی طرح. 1008 00:54:57,800 --> 00:55:03,180 اندراج کی طرح آپ بھی جا رہے ہیں ایک کے مطابق ہونے کے اس کے بات اور 1009 00:55:03,180 --> 00:55:04,690 ایک ناچھانٹا ہوا کی فہرست. 1010 00:55:04,690 --> 00:55:14,540 صرف ایک ہی چیز ہے ہر وقت ہے کہ آپ کے مطابق کرنے کے لئے ایک عنصر کا اضافہ کر رہے 1011 00:55:14,540 --> 00:55:18,170 فہرست، آپ کو صرف عنصر لینے کہ ناچھانٹا ہوا کی فہرست کے سامنے ہے. 1012 00:55:18,170 --> 00:55:20,880 اور پھر آپ کیا تلاش کرنے کے لئے جا رہے ہیں پوزیشن اس کے مطابق میں ہونا چاہئے 1013 00:55:20,880 --> 00:55:22,300 فہرست کا حصہ. 1014 00:55:22,300 --> 00:55:25,840 >> یہ تو کیا دیکھتے ہیں یہ زیادہ سمجھ میں آتا ہے. 1015 00:55:25,840 --> 00:55:29,360 تو ابتدائی طور پر، مثال کے طور پر، میں کوشش کر رہا ہوں میں نمبر تین داخل کرنے 1016 00:55:29,360 --> 00:55:30,680 فہرست کے مطابق حصہ. 1017 00:55:30,680 --> 00:55:31,800 تو فہرست کچھ بھی نہیں ہے. 1018 00:55:31,800 --> 00:55:34,160 تو میں صرف نمبر 3 ڈال کر سکتے ہیں. 1019 00:55:34,160 --> 00:55:37,480 >> اب، میں 5 نمبر شامل کرنا چاہتے ہیں فہرست کے مطابق حصہ. 1020 00:55:37,480 --> 00:55:38,900 تو میں نمبر 5 پر نظر. 1021 00:55:38,900 --> 00:55:40,450 میں یہ 3 سے زیادہ ہے کہ محسوس. 1022 00:55:40,450 --> 00:55:41,980 تو میں نے اسے 3 کے بعد ہونا ضروری ہے جانتے ہیں کہ. 1023 00:55:41,980 --> 00:55:44,100 تو میں نے 3 اور 5 ڈال. 1024 00:55:44,100 --> 00:55:45,940 >> پھر میں نمبر 2 داخل کرنا چاہتے ہیں. 1025 00:55:45,940 --> 00:55:51,630 میں نمبر 2 اصل میں ہے کہ نوٹس پھر 3 اور 5 دونوں گزشتہ. 1026 00:55:51,630 --> 00:55:54,580 تو میں نے اصل میں یہ سب ڈال دیا ہے فہرست کے آغاز میں جس طرح. 1027 00:55:54,580 --> 00:55:59,030 تو میں قسم کے، تمام منتقل کرنے کے لئے ہے مطابق فہرست تو میں کر سکتے ہیں میں عناصر 1028 00:55:59,030 --> 00:56:01,970 نمبر 2 کے لئے کمرے بنانے. 1029 00:56:01,970 --> 00:56:03,160 >> پھر میں 6 نمبر دیکھیں. 1030 00:56:03,160 --> 00:56:05,450 میں نے اسے 5 کے بعد ہونا چاہئے کہ دیکھیں. 1031 00:56:05,450 --> 00:56:06,240 تو میں نے اس میں ڈال. 1032 00:56:06,240 --> 00:56:07,965 اور آخر میں، میں نمبر 4 پر نظر. 1033 00:56:07,965 --> 00:56:11,030 اور میں یہ ہونا چاہئے کے نوٹس 3 اور 5 کے درمیان ہو. 1034 00:56:11,030 --> 00:56:14,870 اور پھر میں نے اس کو ڈال دیا اور تبدیلی دیگر تمام عناصر. 1035 00:56:14,870 --> 00:56:16,120 احساس ہے؟ 1036 00:56:16,120 --> 00:56:17,880 1037 00:56:17,880 --> 00:56:19,150 >> بلبلا طرح. 1038 00:56:19,150 --> 00:56:25,730 تو بلبلا طرح تم کیا بنیادی طور پر ہے جا ہم بلبلا یہ کہتے do-- کرنے 1039 00:56:25,730 --> 00:56:30,113 آپ list-- کے ذریعے جانا ہے کیونکہ ترتیب میں صرف دکھاتے ہیں تو یہ اصل میں بہتر ہے 1040 00:56:30,113 --> 00:56:32,300 آپ this-- پسند 1041 00:56:32,300 --> 00:56:35,030 اور آپ کا آپس میں موازنہ کرنے کے لئے جا رہے ہیں ملحقہ تعداد. 1042 00:56:35,030 --> 00:56:38,410 اور تم تبادلہ کرنے کے لئے جا رہے ہیں ان عہدوں وہ نہیں ہیں تو 1043 00:56:38,410 --> 00:56:39,190 صحیح ترتیب میں. 1044 00:56:39,190 --> 00:56:42,570 >> تو بنیادی طور پر، کیا جا رہا ہے یہاں ہے کیا ہو، مثال کے طور پر، 1045 00:56:42,570 --> 00:56:44,160 آپ 8 اور 6 ہے. 1046 00:56:44,160 --> 00:56:47,270 آپ کو اس کے مطابق ترتیب معلوم ہو جائے گا اصل 6 اور 5، ہو؟ 1047 00:56:47,270 --> 00:56:49,540 تو، آپ کے احکامات تبادلہ کرنے کے لئے جا رہے ہیں. 1048 00:56:49,540 --> 00:56:51,370 پھر میں نے یہاں 8 اور 4 دیکھیں. 1049 00:56:51,370 --> 00:56:52,250 اور میں ایک ہی بات کرتے ہیں. 1050 00:56:52,250 --> 00:56:53,400 میں ایک بار پھر تبادلہ. 1051 00:56:53,400 --> 00:56:55,070 اور آخر میں، 2 اور 8. 1052 00:56:55,070 --> 00:56:56,670 میں نے بھی ان کے تبادلہ. 1053 00:56:56,670 --> 00:57:01,690 >> یہ بلبلا طرح کی وجہ سے کے بعد کہا جاتا ہے ان تکرار میں سے ہر ایک، اصل میں، 1054 00:57:01,690 --> 00:57:05,910 فہرست میں سب سے بڑی تعداد میں تمام ہو جاتا ہے فہرست کے آخر کرنے کا طریقہ. 1055 00:57:05,910 --> 00:57:06,940 اس کا کوئی مطلب ہے؟ 1056 00:57:06,940 --> 00:57:11,880 یہ گماگمن رکھتا ہے کیونکہ اور دائیں منتقل. 1057 00:57:11,880 --> 00:57:14,440 >> ٹھیک ہے، تو یہ دوسری iteration ہے. 1058 00:57:14,440 --> 00:57:17,200 یہ وہی بات ہو گی. 1059 00:57:17,200 --> 00:57:20,190 میں ایک سویپ کریں گے اور تو گزشتہ ایک. 1060 00:57:20,190 --> 00:57:23,290 کوئی سویپ ہیں میں اس اور فہرست کے مطابق ہے. 1061 00:57:23,290 --> 00:57:27,460 بلبلا طرح میں، ہم بنیادی طور پر رکھنے کے فہرست کے ذریعے چل رہا ہے اور گماگمن 1062 00:57:27,460 --> 00:57:32,310 چیزوں میں نہیں کیا تھا کہ محسوس تک کہ ایک iteration کر کوئی سویپ، جس 1063 00:57:32,310 --> 00:57:34,270 فہرست پہلے ہی کے مطابق ہے، کا مطلب ہے کہ. 1064 00:57:34,270 --> 00:57:35,520 احساس ہے؟ 1065 00:57:35,520 --> 00:57:38,400 1066 00:57:38,400 --> 00:57:40,870 >> چلو تھوڑا سا بات کرتے ہیں وقت چل رہا ہے کے بارے میں. 1067 00:57:40,870 --> 00:57:45,165 تو تم لوگ بڑی یاد ہے اے، ومیگا، اور تھیٹا؟ 1068 00:57:45,165 --> 00:57:49,290 1069 00:57:49,290 --> 00:57:50,990 جی ہاں؟ 1070 00:57:50,990 --> 00:57:53,070 ٹھیک ہے، بگ O سب سے پہلے، کیا ہے؟ 1071 00:57:53,070 --> 00:57:54,315 >> سامعین: [اشراوی]. 1072 00:57:54,315 --> 00:57:59,070 >> لوکاس: جی ہاں، یہ ایک بدترین کہا جاتا ہے صرف یہ ہے کہ جس کا مطلب ہے رن، 1073 00:57:59,070 --> 00:58:03,470 کتنا آپ کے پروگرام کی توقع کو چلانے کے لئے لے جانے کے لئے. 1074 00:58:03,470 --> 00:58:04,910 کی طرح، شرائط میں of-- 1075 00:58:04,910 --> 00:58:06,660 اس صورت ن. 1076 00:58:06,660 --> 00:58:09,150 میں عناصر کی تعداد بدترین صورت میں فہرست. 1077 00:58:09,150 --> 00:58:12,520 کی طرح، ممکن بدترین صورت میں. 1078 00:58:12,520 --> 00:58:17,100 >> بلبلا طرح کے لئے، مثال کے طور پر، ہم (ن) مربع کے بڑے اے ہے. 1079 00:58:17,100 --> 00:58:20,580 ہم یہ کیوں ہے؟ 1080 00:58:20,580 --> 00:58:24,716 کیوں بلبلا بڑی O (ن) مربع طرح کی ہے؟ 1081 00:58:24,716 --> 00:58:27,614 >> سامعین: [اشراوی]. 1082 00:58:27,614 --> 00:58:35,670 >> لوکاس: جی ہاں، تو بدترین ہو جائے گا کہ میں (ن) تکرار کرنا پڑے گا. 1083 00:58:35,670 --> 00:58:39,260 تو تکرار سے ہر ایک کے لئے جا رہا ہے ختم کرنے کے لئے سب سے بڑا عنصر لانے 1084 00:58:39,260 --> 00:58:40,290 فہرست کے. 1085 00:58:40,290 --> 00:58:44,230 تو بدترین صورت میں ہے بات یہ ہے کہ (ن) بار ایسا کرنے کی. 1086 00:58:44,230 --> 00:58:48,550 اور ان اوقات میں سے ہر ایک کے لئے، میں ہے میں موازنہ کرنے کے لئے ہے کیونکہ ن سویپ کرنا 1087 00:58:48,550 --> 00:58:49,870 ہر دو عناصر. 1088 00:58:49,870 --> 00:58:53,730 یہ مربع ن ہے یہی وجہ ہے کہ (ن) بار ن ہے کیونکہ. 1089 00:58:53,730 --> 00:59:00,120 >> اس کے بعد، انتخاب کی طرح بھی ن مربع ہے کیونکہ، ہر ایک iteration کے لئے، میں ہے 1090 00:59:00,120 --> 00:59:02,650 ہر ایک عنصر پر نظر فہرست میں. 1091 00:59:02,650 --> 00:59:04,980 اور پھر، سب سے چھوٹی تلاش جس میں کا مطلب ہے کہ 1092 00:59:04,980 --> 00:59:06,130 ن عناصر کے ذریعے تلاش. 1093 00:59:06,130 --> 00:59:11,750 اور میں نے اس کی وجہ سے (ن) بار کرنا ہے میں تمام ن عناصر کو منتخب کرنے کے لئے ہے. 1094 00:59:11,750 --> 00:59:18,273 >> ایک اندراج کی طرح بھی ن مربع ہے بدترین حالات گا کیونکہ 1095 00:59:18,273 --> 00:59:20,950 ، ایک ہو، میں داخل کرنے کے لئے ہے (ن) کی تعداد، ٹھیک ہے؟ 1096 00:59:20,950 --> 00:59:22,765 تو میں نے پہلے ہی میں جا رہا ہوں معلوم ہے کہ ن تکرار ہے. 1097 00:59:22,765 --> 00:59:25,466 1098 00:59:25,466 --> 00:59:29,840 لیکن میں نے ان کی تعداد میں سے ہر ایک کے لئے، تو کی تعداد کے سب میں نظر 1099 00:59:29,840 --> 00:59:34,380 کے مطابق کی فہرست اور اس کے تمام طرح ڈال سامنے، کہ ن مربع ہو جائے گا 1100 00:59:34,380 --> 00:59:36,230 (ن) بار (ن) ایک بار پھر ہو جائے گا کیونکہ. 1101 00:59:36,230 --> 00:59:38,280 احساس ہے؟ 1102 00:59:38,280 --> 00:59:41,512 کیا ومیگا کے بارے میں؟ 1103 00:59:41,512 --> 00:59:42,886 >> سامعین: [اشراوی]. 1104 00:59:42,886 --> 00:59:44,620 >> لوکاس: یہ سب سے بہتر صورت ہے. 1105 00:59:44,620 --> 00:59:48,810 تو یہ وقت کی ایک بہت کے لئے میں، کی طرح ہے سب سے بہتر صورت ہے، چھانٹ رہا ہے 1106 00:59:48,810 --> 00:59:50,660 فہرست پہلے ہی کے مطابق ہے جب. 1107 00:59:50,660 --> 00:59:52,670 تو کیا تم واقعی نہیں ہے کچھ کرنے کی. 1108 00:59:52,670 --> 00:59:56,290 بلبلا طرح بہترین ہے (ن) کے حالات. 1109 00:59:56,290 --> 00:59:58,820 تم لوگ جانتے ہو کیوں؟ 1110 00:59:58,820 --> 01:00:00,620 >> سامعین: [اشراوی]. 1111 01:00:00,620 --> 01:00:05,640 >> لوکاس: جی ہاں، آپ کے ٹریک رکھنے کے تو ڈیٹا راشن کوئی سویپ تھا یا 1112 01:00:05,640 --> 01:00:10,533 آپ کو کچھ ہو تو نہیں، قائم کرنے کے لئے کی طرح ایک iteration کے تو، وہاں تھا تو سچ 1113 01:00:10,533 --> 01:00:15,140 فہرست پہلے ہی، بنیادی طور پر، کے مطابق ہے کیا ہونے جا رہا ہے، میں کرنے جا رہا ہوں 1114 01:00:15,140 --> 01:00:17,890 ہر دو کا تبادلہ کرنے کی کوشش کریں ملحقہ عناصر. 1115 01:00:17,890 --> 01:00:19,920 میں اس کو دیکھنے کے لئے جا رہا ہوں کوئی سویپ ہیں. 1116 01:00:19,920 --> 01:00:21,230 اور میں صرف فورا واپس. 1117 01:00:21,230 --> 01:00:24,240 >> تو اس میں صرف کرنے کے لئے تھا کا مطلب ہے کہ فہرست ایک وقت کے ذریعے جانا. 1118 01:00:24,240 --> 01:00:28,990 میں نظر آتے ہیں کیونکہ تو یہ ن ہے ن عناصر میں. 1119 01:00:28,990 --> 01:00:30,930 کیوں انتخاب کی طرح (ن) مربع؟ 1120 01:00:30,930 --> 01:00:35,150 1121 01:00:35,150 --> 01:00:45,520 >> جی ہاں، فہرست کے مطابق ہے یہاں تک کہ اگر، کے لئے انتخاب کی طرح کے ہر iteration، میں 1122 01:00:45,520 --> 01:00:47,590 کم از کم عنصر کو منتخب کرنے کے لئے ہے. 1123 01:00:47,590 --> 01:00:49,980 تو اس میں دیکھنے کے لئے باہر کا مطلب ہے کہ ناچھانٹا ہوا میں تمام عناصر میں 1124 01:00:49,980 --> 01:00:53,350 فہرست اور کم از کم مل ہر iteration کے لئے. 1125 01:00:53,350 --> 01:00:54,600 اس کا کوئی مطلب ہے؟ 1126 01:00:54,600 --> 01:00:56,880 1127 01:00:56,880 --> 01:01:04,690 >> اور اندراج تلوار کیونکہ (ن) ہے میں داخل کرنے کی کوشش کر رہا ہوں کہ یہ معاملہ 1128 01:01:04,690 --> 01:01:09,320 تعداد اور تعداد کے سب، جب میں ان میں داخل کرنے کی کوشش کریں، میں نے وہ دیکھیں 1129 01:01:09,320 --> 01:01:10,510 صحیح پوزیشن میں ہیں. 1130 01:01:10,510 --> 01:01:15,120 میں دیگر تمام چیک جانے کے لئے کی ضرورت نہیں ہے ناچھانٹا ہوا کی فہرست میں تعداد. 1131 01:01:15,120 --> 01:01:17,170 یہ ن ہو جائے گا یہی وجہ ہے کہ. 1132 01:01:17,170 --> 01:01:19,480 احساس ہے؟ 1133 01:01:19,480 --> 01:01:21,035 اور تھیٹا کیا ہے؟ 1134 01:01:21,035 --> 01:01:23,410 >> سامعین: [اشراوی]. 1135 01:01:23,410 --> 01:01:24,380 >> لوکاس: کیا، معاف کیجئے گا؟ 1136 01:01:24,380 --> 01:01:24,960 پھر سے کہو. 1137 01:01:24,960 --> 01:01:25,666 >> سامعین: [اشراوی]. 1138 01:01:25,666 --> 01:01:26,490 >> لوکاس: بالکل. 1139 01:01:26,490 --> 01:01:31,280 تو آپ کو صرف انتخاب دیکھ سکتے ہیں ضم میں ذخیرہ ترتیب thetas ہے. 1140 01:01:31,280 --> 01:01:39,920 آپ کو صرف تھیٹا ہے کیونکہ اور یہ کہ بڑی O اور ومیگا دونوں ایک ہی ہیں. 1141 01:01:39,920 --> 01:01:41,520 ٹھیک ہے. 1142 01:01:41,520 --> 01:01:44,210 اور آخر میں، لاگ ان ن میں موجود ہے ضم. 1143 01:01:44,210 --> 01:01:48,910 >> ڈین کہہ رہا تھا کے طور پر اور پھر،، طرح ضم قسم کی اسی طرح کی طرح ہے کہ 1144 01:01:48,910 --> 01:01:50,320 آپ کو بائنری تلاش کرتے ہیں. 1145 01:01:50,320 --> 01:01:53,530 تو آپ کو فہرست حاصل. 1146 01:01:53,530 --> 01:01:55,170 اور آپ نصف میں کاٹا جا رہے ہیں. 1147 01:01:55,170 --> 01:02:00,580 اور پھر آپ ان میں کمی چھوٹے حصوں میں. 1148 01:02:00,580 --> 01:02:01,730 اور پھر آپ ان کو ضم. 1149 01:02:01,730 --> 01:02:02,960 تم لوگ حق، کہ یاد ہے؟ 1150 01:02:02,960 --> 01:02:04,960 ٹھیک ہے، وہ کہہ رہا تھا کے طور پر. 1151 01:02:04,960 --> 01:02:08,330 >> ٹھیک ہے، اشارہ. 1152 01:02:08,330 --> 01:02:11,078 تو پوائنٹر کیا ہے؟ 1153 01:02:11,078 --> 01:02:12,050 >> سامعین: [اشراوی]. 1154 01:02:12,050 --> 01:02:12,820 >> لوکاس: ایک ایڈریس. 1155 01:02:12,820 --> 01:02:13,720 ٹھیک ہے. 1156 01:02:13,720 --> 01:02:18,530 میں داؤد کے ایک گروپ سے ظاہر ہوتا ہے جانتے ہیں کہ binky کے ویڈیوز اور چیزوں کی طرف اشارہ 1157 01:02:18,530 --> 01:02:19,080 ایک دوسرے کے. 1158 01:02:19,080 --> 01:02:22,960 لیکن میں اشارہ کے سوچنے کے لئے پسند صرف ایک ایڈریس کے طور پر. 1159 01:02:22,960 --> 01:02:26,110 تو یہ جا رہا ہے کہ ایک متغیر ہے پتہ ذخیرہ کرنے. 1160 01:02:26,110 --> 01:02:31,940 >> تو یہ صرف اس خصوصی متغیر ہے کہ چار بائٹس طویل ہے. 1161 01:02:31,940 --> 01:02:36,550 کچھ کرنے کے لئے کہ پوائنٹر ہے، یاد رکھیں ہماری 32 بٹ کے لئے طویل ہمیشہ چار بائٹس 1162 01:02:36,550 --> 01:02:39,370 مشین کے کیس کے ساتھ تو آلات. 1163 01:02:39,370 --> 01:02:41,920 1164 01:02:41,920 --> 01:02:47,050 اور یہ صرف جگہ ہے اس کے اندر ایک متغیر کی. 1165 01:02:47,050 --> 01:02:50,240 >> ٹھیک ہے، تو بنیادی طور پر، اس میموری ہے. 1166 01:02:50,240 --> 01:02:57,420 تو میموری کی ہر بلاک اصل میں ایک کا پتہ ہے جس کا لیبل، 1167 01:02:57,420 --> 01:02:58,890 slotty میموری. 1168 01:02:58,890 --> 01:03:02,370 تو ہے کہ میں کر سکتے ہیں کا مطلب ہے کہ پوائنٹر طرف اشارہ کرتے ہوئے 1169 01:03:02,370 --> 01:03:03,380 ان پتوں میں سے کسی. 1170 01:03:03,380 --> 01:03:09,930 تو ہم اشارہ کا استعمال کریں گے یہی وجہ ہے میں جگہ کو یاد کرنے کے لئے ہے 1171 01:03:09,930 --> 01:03:12,300 کہ ایک مخصوص متغیر ایک میموری ہے. 1172 01:03:12,300 --> 01:03:16,560 >> اور تم لوگ یاد ان میں سے ایک ہے کہ میں ایک تقریب ہے تو مقدمات تھا 1173 01:03:16,560 --> 01:03:20,820 میں اصل میں ہیں، تو آپ چاہتے ہیں reals لئے سویپ، میں اصل میں 1174 01:03:20,820 --> 01:03:22,110 ایک پوائنٹر بھیجنا ہے. 1175 01:03:22,110 --> 01:03:23,460 متغیر نہیں ہے. 1176 01:03:23,460 --> 01:03:25,200 تم لوگوں کو یاد ہے؟ 1177 01:03:25,200 --> 01:03:26,450 فرق between-- 1178 01:03:26,450 --> 01:03:33,350 1179 01:03:33,350 --> 01:03:34,120 نام کیا ہے؟ 1180 01:03:34,120 --> 01:03:36,010 قیمت اور بلا کی طرف سے کالنگ ریفرنس کی طرف سے، ٹھیک ہے؟ 1181 01:03:36,010 --> 01:03:36,840 >> جی ہاں، ٹھیک ہے. 1182 01:03:36,840 --> 01:03:38,330 تو قیمت کی طرف سے کال. 1183 01:03:38,330 --> 01:03:43,570 آپ کو صرف ایک متغیر بھیجتے ہیں تو آپ کو صرف ایک کی قیمت بھیج رہے ہیں کام. 1184 01:03:43,570 --> 01:03:45,610 تو آپ کو اصل میں بھیج رہے ہیں متغیر کی ایک کاپی. 1185 01:03:45,610 --> 01:03:49,720 اور آپ کے پروگرام کی پرواہ نہیں کر سکتے ہیں اصل میں ایک ہی متغیر تو کے بارے میں 1186 01:03:49,720 --> 01:03:51,650 ایک کاپی ہے. 1187 01:03:51,650 --> 01:03:56,330 >> اور ریفرنس کا مطلب ہے کہ کی طرف سے بلا میں واقعی میں اس کی ایک کاپی بھیج رہا ہوں 1188 01:03:56,330 --> 01:03:57,550 اس متغیر پوائنٹر. 1189 01:03:57,550 --> 01:04:00,970 تو اس میں بھیج رہا ہوں کا مطلب ہے کہ اس متغیر کی جگہ. 1190 01:04:00,970 --> 01:04:04,440 تو میں نے کی جگہ ہے احساس متغیر، میں فون جب تقریب 1191 01:04:04,440 --> 01:04:09,700 اشارہ کے ساتھ، میں اصل میں کرنے کے قابل ہوں اہم تھا کہ اعداد و شمار کو تبدیل. 1192 01:04:09,700 --> 01:04:12,050 احساس ہے؟ 1193 01:04:12,050 --> 01:04:17,560 >> اگرچہ، پوائنٹر ایک کاپی ہے، پوائنٹر اب بھی کی اصل پتہ ہے 1194 01:04:17,560 --> 01:04:20,090 میں تبدیل کرنا چاہتے ہیں کہ متغیر. 1195 01:04:20,090 --> 01:04:21,920 احساس ہے؟ 1196 01:04:21,920 --> 01:04:24,290 >> تو اشارہ کرنے. 1197 01:04:24,290 --> 01:04:28,410 ہمیشہ پوائنٹر ہے، یاد رکھیں اس کی طرف اشارہ ہے کہ اس قسم 1198 01:04:28,410 --> 01:04:29,890 ایک ستارہ اور پھر. 1199 01:04:29,890 --> 01:04:31,030 اور پھر آپ کا نام ڈال دیا. 1200 01:04:31,030 --> 01:04:35,765 تو آپ جب بھی یاد رکھیں کہ جو کچھ بھی ستارہ، اس کے لئے ایک پوائنٹر طرح ہے 1201 01:04:35,765 --> 01:04:38,990 جو کچھ بھی متغیر ہے کہ آپ نے اس قسم. 1202 01:04:38,990 --> 01:04:42,850 >> تو یہاں اسٹار میں، مثال کے طور پر، یہ ہے ایک پوائنٹر اور ایک عددی. 1203 01:04:42,850 --> 01:04:47,680 اور پھر چار ستارہ پوائنٹر ہے چار ستارہ اور تو آگے. 1204 01:04:47,680 --> 01:04:47,960 جی ہاں؟ 1205 01:04:47,960 --> 01:04:52,710 >> سامعین: کیا ہم ہیں تو ایک ن پوائنٹر X سٹار کے لئے. 1206 01:04:52,710 --> 01:04:55,255 میں نے اس کے X کے لئے ایک پوائنٹر پیدا جانتے. 1207 01:04:55,255 --> 01:04:59,432 یہ بھی ایک عددی X اعلان ہے؟ 1208 01:04:59,432 --> 01:05:05,170 >> لوکاس: ٹھیک ہے، تو آپ کو این اسٹار ایکس کہنا ہے کہ جب، آپ کو ایک پوائنٹر پیدا نہیں کر رہے ہیں 1209 01:05:05,170 --> 01:05:06,000 متغیر x. 1210 01:05:06,000 --> 01:05:08,170 آپ ایکس نامی ایک پوائنٹر پیدا کر رہے ہیں. 1211 01:05:08,170 --> 01:05:09,396 >> سامعین: [اشراوی]. 1212 01:05:09,396 --> 01:05:14,250 >> لوکاس: میں (ن) اسٹار ایکس کہنا ہے کہ جب تو، میں ہوں ارے، کی یاد میں، میں جا رہا ہوں، یہ کہہ 1213 01:05:14,250 --> 01:05:16,390 ان تینوں خانوں میں سے ایک حاصل کرنے کے لئے. 1214 01:05:16,390 --> 01:05:20,750 اور میں اس کا کہنا ہے کہ جا رہا ہوں ہے جس میں، ایکس کی جا رہی ہے 1215 01:05:20,750 --> 01:05:22,000 جا پوائنٹر ہونے. 1216 01:05:22,000 --> 01:05:26,860 1217 01:05:26,860 --> 01:05:30,640 اور اشارہ کے بارے میں کچھ دلچسپ ہم نے کا کہنا ہے کہ یہ ہے کہ 1218 01:05:30,640 --> 01:05:32,620 ایک 32 بٹ مشین کے لئے 4 بائٹس. 1219 01:05:32,620 --> 01:05:36,320 اور اس کے لئے وجہ ہے 4 بائٹس 32 بٹس ہیں. 1220 01:05:36,320 --> 01:05:40,490 >> 64 بٹس اصل میں ہیں اور یہ کہ مشینیں اشارہ پتے 1221 01:05:40,490 --> 01:05:43,480 64 بٹس طویل ہو. 1222 01:05:43,480 --> 01:05:49,820 تو یہ صرف کا مطلب ہے کہ کے سائز مشین میں پتے مختلف ہے. 1223 01:05:49,820 --> 01:05:52,270 >> تو حوالہ اور محولہ لقب ضبطی. 1224 01:05:52,270 --> 01:05:54,310 دو آپریٹرز ہیں کہ تم لوگوں کو یاد رکھنا چاہیے. 1225 01:05:54,310 --> 01:05:55,450 پہلے ایمپرسینڈ ہے. 1226 01:05:55,450 --> 01:05:56,810 دوسرا ستارہ ہے. 1227 01:05:56,810 --> 01:06:05,060 کہ ستارہ اور اس کی طرف سے الجھن میں نہ ہو کیونکہ، یاد رکھیں کہ اسٹار 1228 01:06:05,060 --> 01:06:06,950 اس صورت، آپ ن ستارہ ہے. 1229 01:06:06,950 --> 01:06:08,700 >> یہ ایک ساتھ مل کر پوری بات کی طرح ہے. 1230 01:06:08,700 --> 01:06:10,720 کوئی ن خلائی سٹار ہے. 1231 01:06:10,720 --> 01:06:12,070 تو یہ قسم ہے کا مطلب ہے کہ. 1232 01:06:12,070 --> 01:06:14,870 آپ کے پاس جب کہ، یاد متغیر اسٹار، تم 1233 01:06:14,870 --> 01:06:16,230 قسم کے بارے میں بات. 1234 01:06:16,230 --> 01:06:20,540 >> آپ تو صرف اسٹار اور جب متغیر کے نام، اس کا مطلب ہے کہ 1235 01:06:20,540 --> 01:06:24,100 آپ پوائنٹر، محولہ لقب ضبطی رہے ہیں جس آپ دیکھ رہے ہیں کا مطلب ہے کہ 1236 01:06:24,100 --> 01:06:28,290 پوائنٹر، ایڈریس کی تلاش ہے ، کی طرف اشارہ کیا ہے کہ ایڈریس کے لئے جا رہا، 1237 01:06:28,290 --> 01:06:30,850 اور جب بھی میں تلاش تم وہاں ہے. 1238 01:06:30,850 --> 01:06:34,310 تو میں آپ کے پاس جب کہ میرے طالب علموں کو بتانا ستارہ، آپ کو یہ سوچنا چاہیے کہ 1239 01:06:34,310 --> 01:06:36,850 کے مواد کے مخفف. 1240 01:06:36,850 --> 01:06:39,770 >> آپ کو ایک پوائنٹر ہے تو اور آپ کو ستارہ پوائنٹر ہے، یہ ہے 1241 01:06:39,770 --> 01:06:41,720 پوائنٹر کے مواد. 1242 01:06:41,720 --> 01:06:44,580 تو آپ اس کی طرف اشارہ ہے جو کچھ بھی کرنے کے لئے جانا اور مسلسل مواد پر نظر. 1243 01:06:44,580 --> 01:06:47,730 اور ایمپرسینڈ ایک ہی ہے کے ایڈریس کے طور پر بات. 1244 01:06:47,730 --> 01:06:52,560 >> میں طرح a-- ایک متغیر ہے تو، چلو INT ایک برابر ہے میں نے کا کہنا ہے کہ 3-- 1245 01:06:52,560 --> 01:06:56,900 میں نے اس کا پتہ تلاش کرنے کے لئے چاہتے ہیں تو متغیر میموری، میں صرف کر سکتے ہیں 1246 01:06:56,900 --> 01:06:58,240 ایک ایمپرسینڈ. 1247 01:06:58,240 --> 01:07:00,280 تو یہ ایک کا پتہ ہے. 1248 01:07:00,280 --> 01:07:01,530 احساس ہے؟ 1249 01:07:01,530 --> 01:07:03,790 1250 01:07:03,790 --> 01:07:05,040 >> تو یہاں ایک مثال ہے. 1251 01:07:05,040 --> 01:07:08,370 1252 01:07:08,370 --> 01:07:11,530 اس int B اور int سی لاپتہ ہے. 1253 01:07:11,530 --> 01:07:16,520 3 اسباب برابر تو int ہے کہ مجھے یاد کرنے کے لئے جا رہا ہوں. 1254 01:07:16,520 --> 01:07:19,870 اور میں ایک سلاٹ کو تلاش کرنے کے لئے جا رہا ہوں اور یہاں نمبر 3 ڈال. 1255 01:07:19,870 --> 01:07:22,200 >> اور پھر INT B 4 کے برابر ہے. 1256 01:07:22,200 --> 01:07:23,100 میں ایک ہی بات کرنے جا رہا ہوں. 1257 01:07:23,100 --> 01:07:25,840 یاد کرنے کے لئے جاؤ اور ایک نمبر ڈال خانوں میں سے ایک میں 4. 1258 01:07:25,840 --> 01:07:27,100 اور int 5 برابر ہے. 1259 01:07:27,100 --> 01:07:29,740 ایک اور باکس کو تلاش کریں اور ایک بڑی تعداد 5 ڈال. 1260 01:07:29,740 --> 01:07:36,160 >> تو باہر کر اس لائن کیا ہے؟ ن اسٹار PA ایمپرسینڈ ایک برابر ہے. 1261 01:07:36,160 --> 01:07:37,800 تو سب سے پہلے، ن اسٹار PA. 1262 01:07:37,800 --> 01:07:39,050 یہ کیا کر رہی ہے؟ 1263 01:07:39,050 --> 01:07:40,930 1264 01:07:40,930 --> 01:07:42,298 >> سامعین: [اشراوی]. 1265 01:07:42,298 --> 01:07:47,890 >> لوکاس: جی ہاں، تو ن اسٹار PA، سب سے پہلے، PA نامی ایک پوائنٹر اعلان. 1266 01:07:47,890 --> 01:07:53,720 اور پھر اس کی قیمت مقرر ہے اس پوائنٹر ایک کا پتہ کرنے کے لئے. 1267 01:07:53,720 --> 01:07:55,790 تو ایک ایمپرسینڈ. 1268 01:07:55,790 --> 01:07:58,510 اس کے بعد، میں ستارہ PB کرتے ہیں تو، ایک ستارہ پی بی کیا ہے؟ 1269 01:07:58,510 --> 01:08:02,418 1270 01:08:02,418 --> 01:08:03,150 >> اوہ، معاف کرنا. 1271 01:08:03,150 --> 01:08:06,330 یہ بھی غائب ہے. ن اسٹار PB. 1272 01:08:06,330 --> 01:08:07,905 میں اسٹار پی سی کا مطلب ہے. 1273 01:08:07,905 --> 01:08:11,200 مجھے بہت افسوس ہے. 1274 01:08:11,200 --> 01:08:11,940 یہ ایک ہی بات ہے. 1275 01:08:11,940 --> 01:08:16,408 لیکن اب میں ایک پوائنٹر پیدا AR اچھا ہوں پھر سی پوائنٹر B اور کرنے کے لئے. 1276 01:08:16,408 --> 01:08:16,886 جی ہاں؟ 1277 01:08:16,886 --> 01:08:18,136 >> سامعین: [اشراوی]؟ 1278 01:08:18,136 --> 01:08:25,490 1279 01:08:25,490 --> 01:08:26,670 >> لوکاس: جی ہاں. 1280 01:08:26,670 --> 01:08:32,630 تو آپ کو یاد کرنے کے لئے جانے کے لئے اور آپ کو جانا ہے اگر PA لئے designator ہے کہ باکس، 1281 01:08:32,630 --> 01:08:37,149 آپ اصل میں کرنے کے لئے جا رہے ہیں ایک کا ایڈریس دیکھیں. 1282 01:08:37,149 --> 01:08:38,399 ٹھیک ہے؟ 1283 01:08:38,399 --> 01:08:42,970 1284 01:08:42,970 --> 01:08:43,300 جی ہاں؟ 1285 01:08:43,300 --> 01:08:45,605 >> سامعین: [اشراوی]؟ 1286 01:08:45,605 --> 01:08:49,260 >> لوکاس: جی ہاں، پوائنٹر ایک پتہ ہے. 1287 01:08:49,260 --> 01:08:50,120 کہ کبھی نہ بھولنا. 1288 01:08:50,120 --> 01:08:52,800 یہ سب سے زیادہ اہم کی طرح ہے اشارہ کے بارے میں حصہ. 1289 01:08:52,800 --> 01:08:56,180 ذخیرہ کرنے اور پتہ نہیں ہے کچھ متغیر. 1290 01:08:56,180 --> 01:08:56,890 اور کچھ؟ 1291 01:08:56,890 --> 01:08:58,370 کوئی سوال؟ 1292 01:08:58,370 --> 01:08:59,189 ٹھیک ہے. 1293 01:08:59,189 --> 01:09:00,399 >> تو نوٹیفائر اور arrays. 1294 01:09:00,399 --> 01:09:08,189 یاد رکھیں کہ میں صف 3 int کی جب، بنیادی طور پر، میں کیا کر رہا ہوں میں اس قسم، میں ہوں ہے 1295 01:09:08,189 --> 01:09:12,779 کے، ایک پوائنٹر میں اعلان. 1296 01:09:12,779 --> 01:09:18,960 تو صف قسم کی ایک پوائنٹر کی طرح ہے یاد میں مخصوص جگہ ہے جس میں میں 1297 01:09:18,960 --> 01:09:21,999 integers کے لئے تین سلاٹ مختص. 1298 01:09:21,999 --> 01:09:23,430 اس کا کوئی مطلب ہے؟ 1299 01:09:23,430 --> 01:09:30,250 >> میں int صف 3 جب تو، میں کیا ہوں کر، بنیادی طور پر، تین پیدا کر رہا ہے 1300 01:09:30,250 --> 01:09:31,479 میموری میں دورانیے. 1301 01:09:31,479 --> 01:09:33,899 تو میں صرف یاد میں تین سلاٹ مل. 1302 01:09:33,899 --> 01:09:38,810 تو میں نے، اس کے بعد، ایک ستارہ سرنی، ایسا تو بنیادی طور پر صف کے مواد کا مطلب ہے، 1303 01:09:38,810 --> 01:09:46,180 جس میں جا، میں پوائنٹر مٹانے کا مطلب اس کی طرف اشارہ ہے کہ اس جگہ پر، 1304 01:09:46,180 --> 01:09:47,939 اور میں ایک نمبر ڈال. 1305 01:09:47,939 --> 01:09:53,729 >> اور پھر، میں ستارہ سرنی علاوہ 1 کرتے ہیں تو، اس صف کر کے طور پر ایک ہی بات ہے 1306 01:09:53,729 --> 01:09:59,690 بس میں کرنے کے لئے جانے کا مطلب ہے، ایک بریکٹ اس میں اشارہ ہے کہ جگہ. 1307 01:09:59,690 --> 01:10:03,000 اور پھر علاوہ 1 کرتا ہے مجھے ایک پوزیشن کو منتقل. 1308 01:10:03,000 --> 01:10:06,510 تو میں، اصل میں، اس کی پوزیشن کے لئے جانا اور دو نمبر ڈال. 1309 01:10:06,510 --> 01:10:10,900 >> اور پھر آخر میں، میں جب سرنی کے علاوہ 2، میں جہاں جانا 1310 01:10:10,900 --> 01:10:11,825 میں صف کی طرف اشارہ. 1311 01:10:11,825 --> 01:10:14,690 اور پھر میں نے میموری بلاکس میں منتقل. 1312 01:10:14,690 --> 01:10:16,240 اور پھر میں یہاں نمبر تین میں ڈال دیا. 1313 01:10:16,240 --> 01:10:16,600 جی ہاں؟ 1314 01:10:16,600 --> 01:10:21,400 >> سامعین: تو ستارہ سرنی بس ہے بہت پہلے نقطہ کہہ. 1315 01:10:21,400 --> 01:10:25,090 اور آپ کو صرف اس وجہ سے، 1 کا اضافہ کر سکتے ہیں ہم صرف واقعی ہیں 1316 01:10:25,090 --> 01:10:27,295 کہ سب سے پہلے پتہ حوالہ. 1317 01:10:27,295 --> 01:10:28,545 >> لوکاس: جی ہاں. 1318 01:10:28,545 --> 01:10:32,720 1319 01:10:32,720 --> 01:10:36,020 ہم کیوں، مثال کے طور پر، صف کہتے ہیں 0، صف 1، اور صف 2؟ 1320 01:10:36,020 --> 01:10:38,970 1321 01:10:38,970 --> 01:10:42,790 میں، تم کیوں 0 کرتے ہیں، کہہ رہا ہوں 1، 2، 3 کے بجائے 1، 2، 3؟ 1322 01:10:42,790 --> 01:10:46,550 وجوہات میں سے ایک، ایک، کمپیوٹر ہے پروگرامرز شروع کرنے کے لئے ترجیح دیتے ہیں 1323 01:10:46,550 --> 01:10:47,750 0 سے گنتی. 1324 01:10:47,750 --> 01:10:52,370 آپ صف 0 جب کیونکہ دو، ہے یہ صف کر کے طور پر ایک ہی بات ہے 1325 01:10:52,370 --> 01:10:56,330 جس کا مطلب ہے کے علاوہ 0، میں جانا اس کی پوزیشن، اور میں نہیں 1326 01:10:56,330 --> 01:10:59,320 کسی بھی میموری کے بلاکس کو چھوڑ. 1327 01:10:59,320 --> 01:11:01,750 تو میں نے کسی بھی میموری بلاکس کو منتقل نہیں ہے. 1328 01:11:01,750 --> 01:11:02,015 جی ہاں؟ 1329 01:11:02,015 --> 01:11:03,265 >> سامعین: [اشراوی]؟ 1330 01:11:03,265 --> 01:11:05,928 1331 01:11:05,928 --> 01:11:12,670 >> لوکاس: تو وہ کیا ہے پوچھ رہا ہے کر کے درمیان فرق 1332 01:11:12,670 --> 01:11:14,000 اس یا malloc کر. 1333 01:11:14,000 --> 01:11:17,550 اختلافات میں سے ایک ہے int صف 3 ایک پیدا ہے 1334 01:11:17,550 --> 01:11:19,260 اسٹیک صف. 1335 01:11:19,260 --> 01:11:23,080 اور میں malloc ہے تو، یہ ڈھیر پر پیدا کرتا ہے. 1336 01:11:23,080 --> 01:11:25,250 اس کا کوئی مطلب ہے؟ 1337 01:11:25,250 --> 01:11:28,870 >> تو malloc کا اصل کام کرتا ہے؟ 1338 01:11:28,870 --> 01:11:32,245 تو کیوں نہ ہم بھی malloc کا استعمال کرنے کے لئے کی ضرورت ہے؟ 1339 01:11:32,245 --> 01:11:35,730 1340 01:11:35,730 --> 01:11:39,700 اعداد و شمار کے آپ کے سنکلک کی قسم تمام آپ اعلان کہ متغیر. 1341 01:11:39,700 --> 01:11:44,040 اور وہ سب کے لئے خلا پیدا اسٹیک میں ان میں سے. 1342 01:11:44,040 --> 01:11:47,180 تو اپنے تمام متغیرات میں جا رہے ہیں کہیں اسٹیک میں ہو. 1343 01:11:47,180 --> 01:11:49,460 تو یہاں ماحول متغیر ہے. 1344 01:11:49,460 --> 01:11:53,850 >> ان متغیرات کے لئے تو بنیادی طور پر، جگہ میموری میں مختص کیا جاتا ہے 1345 01:11:53,850 --> 01:11:55,080 وقت مرتب. 1346 01:11:55,080 --> 01:11:58,790 تو یہ آپ کے کمپیوٹر ہے کا مطلب ہے کہ ان متغیرات میں سے سب جاننے کے لئے 1347 01:11:58,790 --> 01:11:59,790 پہلے. 1348 01:11:59,790 --> 01:12:02,500 یہ کس قدر معلوم کرنے کے لئے کی ضرورت نہیں ہے آپ کو ان میں ڈال کرنے کے لئے جا رہے ہیں. 1349 01:12:02,500 --> 01:12:05,490 لیکن یہ کس طرح پتہ کرنے کی ضرورت آپ کی ضرورت ہے زیادہ سے زیادہ میموری. 1350 01:12:05,490 --> 01:12:09,380 >> لیکن اب، مثال کے طور پر، کا کہنا ہے کہ دو آپ کو ایک صف کرنے یا لے جا رہے ہیں 1351 01:12:09,380 --> 01:12:13,430 آپ لے رہے ہیں کہ سٹرنگ صارف کی طرف سے. 1352 01:12:13,430 --> 01:12:17,300 تم نہیں جانتے کہ کس طرح طویل سٹرنگ مثال کے طور پر، ہو جا رہا ہے. 1353 01:12:17,300 --> 01:12:20,600 تو آپ کس طرح بہت سے نہیں جانتے میموری کے بلاکس آپ صحیح، مختص؟ 1354 01:12:20,600 --> 01:12:24,120 >> تو یہ واقعی کے لئے کوئی مطلب نہیں ہے آپ کو 100 حروف ڈال کہنا. 1355 01:12:24,120 --> 01:12:26,420 اور پھر صارف 150 لکھتے ہیں تو؟ 1356 01:12:26,420 --> 01:12:27,670 تم مصیبت میں جا رہے ہیں. 1357 01:12:27,670 --> 01:12:30,160 1358 01:12:30,160 --> 01:12:34,620 >> تو بنیادی طور پر، آپ کو کس طرح اس بات کا یقین نہیں ہو سکتا آپ مختص کرنے کی ضرورت زیادہ سے زیادہ میموری 1359 01:12:34,620 --> 01:12:35,960 جب آپ پروگرام مرتب. 1360 01:12:35,960 --> 01:12:38,240 آپ کو صرف چلانے کے وقت پر ہے. 1361 01:12:38,240 --> 01:12:39,950 آپ کو ڈھیر ہے یہی وجہ ہے کہ. 1362 01:12:39,950 --> 01:12:47,610 تو ڈھیر میموری کی جا رہی ہے آپ کے آونٹن کر رہے ہیں کہ 1363 01:12:47,610 --> 01:12:50,810 پروگرام چلانے کی مدت. 1364 01:12:50,810 --> 01:12:55,780 >> تو بنیادی طور پر، آپ malloc جب، کیا آپ کو میموری آونٹن ہے کر رہے ہیں 1365 01:12:55,780 --> 01:13:00,160 تم جس کا مطلب ہے رن، اس وقت صحیح فیصلہ ہے کہ آپ 1366 01:13:00,160 --> 01:13:02,670 کہ میموری ہونا چاہئے. 1367 01:13:02,670 --> 01:13:04,210 آپ کو اس کے آونٹن کر رہے ہیں تو جب ہے. 1368 01:13:04,210 --> 01:13:06,430 اس کا کوئی مطلب ہے؟ 1369 01:13:06,430 --> 01:13:11,690 >> تو اسٹیک متغیر ہے، یاد کہ تالیف وقت پر پیدا کر رہے ہیں. 1370 01:13:11,690 --> 01:13:14,560 اور پھر ڈھیر متغیر ہے آپ کے طور پر پیدا کر رہے ہیں 1371 01:13:14,560 --> 01:13:15,600 مثال کے طور پر کے لئے malloc، کے ساتھ. 1372 01:13:15,600 --> 01:13:16,850 >> سامعین: [اشراوی]؟ 1373 01:13:16,850 --> 01:13:19,179 1374 01:13:19,179 --> 01:13:24,340 >> لوکاس: تو GetString ہے malloc فون کرنے جا رہا. 1375 01:13:24,340 --> 01:13:26,710 مجھے malloc کے بارے میں بات کرتے ہیں، اور میں GetString کی وضاحت کریں گے. 1376 01:13:26,710 --> 01:13:32,000 تو malloc ایک ہی بات ہے میموری مختص طور پر. 1377 01:13:32,000 --> 01:13:34,600 تو یہ مختص کی جا رہی ہے ڈھیر پر میموری. 1378 01:13:34,600 --> 01:13:40,010 اور اس پر ایک پوائنٹر واپس جا رہا ہے جہاں کہ میموری میں مختص کیا گیا تھا. 1379 01:13:40,010 --> 01:13:43,090 >> تو آپ do-- جب 1380 01:13:43,090 --> 01:13:44,910 یہاں مثال کے طور پر کے لئے 1381 01:13:44,910 --> 01:13:45,830 ن ستارہ پوائنٹر. 1382 01:13:45,830 --> 01:13:50,520 اور پھر پوائنٹر malloc کے برابر انچ 10 گنا کے سائز. 1383 01:13:50,520 --> 01:13:52,110 میں نے ایک پوائنٹر پیدا کر رہا ہوں. 1384 01:13:52,110 --> 01:13:59,020 اور پھر میں اس پوائنٹر بتائے ہوں پوائنٹر کہ malloc کی قیمت 1385 01:13:59,020 --> 01:13:59,680 مجھے دے رہا ہے. 1386 01:13:59,680 --> 01:14:04,150 >> تو میں پوچھ رہا ہوں malloc کی آپ کو مختص کر سکتے ہیں 10 integers کے لئے جگہ. 1387 01:14:04,150 --> 01:14:05,390 یہ کہہ رہا ہے. 1388 01:14:05,390 --> 01:14:09,020 اور malloc مجھے واپس دیتا ہے اس جگہ پر ایک پوائنٹر ہے. 1389 01:14:09,020 --> 01:14:11,460 احساس ہے؟ 1390 01:14:11,460 --> 01:14:12,270 ٹھیک ہے. 1391 01:14:12,270 --> 01:14:17,940 میں اور GetString، بنیادی طور پر، ایک کر رہا ہے آپ مختص کر سکتے ہیں تو malloc پر کال 1392 01:14:17,940 --> 01:14:21,680 رن ٹائم کے دوران میموری. 1393 01:14:21,680 --> 01:14:26,460 >> ہمیشہ اتارنا null کے لئے چیک کرنے کے لئے یاد malloc نل واپس جا رہا ہے کیونکہ 1394 01:14:26,460 --> 01:14:28,200 یہ میموری مختص نہیں کر سکتے ہیں. 1395 01:14:28,200 --> 01:14:31,660 آپ کو ایک مضحکہ خیز کے لئے دعا گو ہیں کہ کا کہنا ہے کہ میموری کی رقم. 1396 01:14:31,660 --> 01:14:33,950 آپ کے کمپیوٹر میں نہیں جا رہا ہے زیادہ مختص کرنے کے قابل. 1397 01:14:33,950 --> 01:14:36,410 >> تو malloc صرف کی جا رہی ہے شہوت انگیز null واپس کرنے کے لئے. 1398 01:14:36,410 --> 01:14:42,210 تو ہمیشہ تو چیک کرنے کے لئے یاد آپ malloc سے ہے کہ پوائنٹر ہے 1399 01:14:42,210 --> 01:14:45,640 شہوت انگیز null یا نہیں ہے تو، آپ کو ہو سکتا ہے، کیونکہ ایک پوائنٹر محولہ لقب ضبطی ہو اور 1400 01:14:45,640 --> 01:14:48,340 کی طرف گناہ کی وجہ سے. 1401 01:14:48,340 --> 01:14:50,930 اور آخر میں، نہیں بھولنا آپ مفت میموری. 1402 01:14:50,930 --> 01:14:57,800 1403 01:14:57,800 --> 01:15:00,560 >> malloc کے ڈھیر میں میموری تخلیق کر رہا ہے. 1404 01:15:00,560 --> 01:15:03,436 اور آپ کو میموری آزاد ہے پروگرام ختم ہونے سے پہلے. 1405 01:15:03,436 --> 01:15:05,370 ٹھیک ہے، کہ میرے لئے ہے. 1406 01:15:05,370 --> 01:15:07,900 معذرت، روب. 1407 01:15:07,900 --> 01:15:07,950 شکریہ. 1408 01:15:07,950 --> 01:15:09,878 >> [تالیاں] 1409 01:15:09,878 --> 01:15:12,679 >> لوکاس: کوئی آخری سوال روب کے آنے سے پہلے؟ 1410 01:15:12,679 --> 01:15:13,138 نہیں؟ 1411 01:15:13,138 --> 01:15:13,597 جی ہاں؟ 1412 01:15:13,597 --> 01:15:15,892 >> سامعین: میں نہیں دیکھا یہ ایک آن لائن. 1413 01:15:15,892 --> 01:15:17,269 آپ ابھی تک اس کے اپ لوڈ کیا ہے؟ 1414 01:15:17,269 --> 01:15:19,106 >> لوکاس: میں ڈیو ہے جلد ہی اپ لوڈ. 1415 01:15:19,106 --> 01:15:19,880 >> ڈیو: یہ پوسٹ کیا جائے گا. 1416 01:15:19,880 --> 01:15:20,310 >> لوکاس: یہ آن لائن ہو جائے گا. 1417 01:15:20,310 --> 01:15:21,175 >> سامعین: یہ منحصر ہے. 1418 01:15:21,175 --> 01:15:22,090 >> لوکاس: یہ کیا ہے؟ 1419 01:15:22,090 --> 01:15:23,157 ٹھیک ہے. 1420 01:15:23,157 --> 01:15:23,644 جی ہاں؟ 1421 01:15:23,644 --> 01:15:27,053 >> سامعین: [اشراوی]؟ 1422 01:15:27,053 --> 01:15:30,285 >> لوکاس: جی ہاں، آپ مفت چاہئے ڈھیر میں ڈال دیا جاتا ہے کہ میموری. 1423 01:15:30,285 --> 01:15:31,535 >> سامعین: [اشراوی]؟ 1424 01:15:31,535 --> 01:15:34,518 1425 01:15:34,518 --> 01:15:36,160 >> لوکاس: جی ہاں. 1426 01:15:36,160 --> 01:15:39,980 آپ کو ایک ثقافت malloc کی ہے کہ کسی بھی وقت، آپ مفت کی ثقافت ہونا چاہئے 1427 01:15:39,980 --> 01:15:42,640 آپ کے بعد کہ متغیر کا استعمال کرتے ہوئے کو روکنے کے. 1428 01:15:42,640 --> 01:15:44,800 تو malloc اور آزاد ہیں ہمیشہ ساتھ. 1429 01:15:44,800 --> 01:15:45,410 ان کے بہترین دوستوں. 1430 01:15:45,410 --> 01:15:46,720 جی ہاں. 1431 01:15:46,720 --> 01:15:47,970 روب؟ 1432 01:15:47,970 --> 01:15:55,595 1433 01:15:55,595 --> 01:15:56,850 >> روب: میں نے جلدی سے جائیں گے. 1434 01:15:56,850 --> 01:16:00,466 اور ویڈیو کو ڈال دیا جائے گا. 1435 01:16:00,466 --> 01:16:01,716 میں مائک ہے. 1436 01:16:01,716 --> 01:16:24,060 1437 01:16:24,060 --> 01:16:26,230 >> ٹھیک ہے، تو ہفتے میں پانچ چیزیں. 1438 01:16:26,230 --> 01:16:27,970 ہم نے سب سے پہلے بات یہ ہے کہ اسٹیک ہے. 1439 01:16:27,970 --> 01:16:33,390 تو صرف ایک اسٹیک ہے کہ وہاں یاد فعال تقریب کال فی فریم. 1440 01:16:33,390 --> 01:16:34,710 ہم ایک دوسرے میں دیکھیں گے کہ. 1441 01:16:34,710 --> 01:16:37,850 اور بھی اصل میں کیا جاتا ہے یاد ہر اسٹیک فریم میں جا رہے ہیں 1442 01:16:37,850 --> 01:16:41,880 ہمارے افعال میں سے مقامی متغیر، میں منظور کیا جاتا ہے کہ دلائل ہمارے 1443 01:16:41,880 --> 01:16:43,880 ایک جوڑے کے ساتھ کام کرتا ہے، دوسری چیزوں کے آپ کو واقعی نہیں 1444 01:16:43,880 --> 01:16:45,260 کے بارے میں فکر کرنے کی ضرورت ہے. 1445 01:16:45,260 --> 01:16:50,950 >> تو یہاں ہے جہاں ایک مثال پروگرام ہے، نوٹس، اہم واپسی printfing ہے 1446 01:16:50,950 --> 01:16:52,830 FOO کو 4 کی قیمت. 1447 01:16:52,830 --> 01:16:57,930 FOO کو صرف واپس جا رہا ہے بار 4 کوما 6 کی قیمت. 1448 01:16:57,930 --> 01:17:02,380 اور بار کچھ مقامی قائم کرنے کے لئے کی جا رہی ہے 4 بار 6 کے برابر متغیر (ن). 1449 01:17:02,380 --> 01:17:03,920 اور پھر (ن) واپس. 1450 01:17:03,920 --> 01:17:09,130 >> تو بھر اسٹیک دیکھو اس پروگرام کی اصل iteration کے. 1451 01:17:09,130 --> 01:17:10,500 تو ہمارے اسٹیک کے سب سے نیچے ہے. 1452 01:17:10,500 --> 01:17:12,620 اسٹیک بڑا ہے یاد رکھیں کہ. 1453 01:17:12,620 --> 01:17:15,370 ہمارے اسٹیک کے سب سے نیچے میں تو، ہم اہم کے لئے ایک اسٹیک فریم ہے. 1454 01:17:15,370 --> 01:17:17,000 جب پروگرام شروع، اہم ہمیشہ میں ہونے جا رہا ہے 1455 01:17:17,000 --> 01:17:18,560 ہمارے اسٹیک کے سب سے نیچے. 1456 01:17:18,560 --> 01:17:20,880 >> اور کے اندر کیا ہے ہماری اہم کے لئے فریم کتابیں رکھی؟ 1457 01:17:20,880 --> 01:17:23,810 تو کوئی مقامی ہیں اگرچہ اہم متغیر میں، میں نے پہلے کہا، طرح 1458 01:17:23,810 --> 01:17:29,670 ہم argc اور rgv جگہ لینے کی ہے اہم اسٹیک فریم کے اندر. 1459 01:17:29,670 --> 01:17:33,260 اب جا رہا ہے تو اہم تقریب FOO فون. 1460 01:17:33,260 --> 01:17:35,125 اور ہے کہ FOO کی جا رہی ہے کا مطلب ہے کہ اس کے اپنے اسٹیک فریم حاصل. 1461 01:17:35,125 --> 01:17:36,970 >> تو اب ہم اندر ہو تقریب FOO. 1462 01:17:36,970 --> 01:17:38,610 اور کیا میں جانے کے لئے کی ضرورت ہے FOO کو اسٹیک فریم؟ 1463 01:17:38,610 --> 01:17:41,100 ویسے، FOO کو ایک دلیل ن ہے. 1464 01:17:41,100 --> 01:17:45,440 ہے کہ چونکہ ن 4 کے برابر ہے کیا اہم ہے FOO کی دلیل کے طور پر گزر رہا ہے. 1465 01:17:45,440 --> 01:17:48,490 >> تو اب FOO بار فون کرنے کے لئے کی جا رہی ہے. 1466 01:17:48,490 --> 01:17:52,070 کیا بار کے اندر کی جا رہی ہے اس کے اسٹیک فریم کے؟ 1467 01:17:52,070 --> 01:17:55,610 یہ چھ کے برابر 4 Y کے برابر ایکس ہے. 1468 01:17:55,610 --> 01:17:58,540 کہ ہم جا رہے ہیں کہ تمام نہیں ہے بار کیونکہ اسٹیک فریم میں 1469 01:17:58,540 --> 01:18:00,580 بھی ایک مقامی متغیر (ن) ہے. 1470 01:18:00,580 --> 01:18:03,370 اور ن ہم نے 24 کے برابر مقرر کرنے جا رہے ہیں. 1471 01:18:03,370 --> 01:18:05,750 >> تو اب بار ن واپس جا رہا ہے. 1472 01:18:05,750 --> 01:18:09,300 تو بار 24 واپس آ رہا ہے اسٹیک فریم FOO کو. 1473 01:18:09,300 --> 01:18:12,560 اور بار ہے کہ اب، واپس آ رہا ہے کیونکہ ہم اسٹیک فریم پوپ آؤٹ کر رہے ہیں کا مطلب ہے کہ 1474 01:18:12,560 --> 01:18:14,250 اسٹیک کے بار کے لئے. 1475 01:18:14,250 --> 01:18:18,430 بار کیا گیا تھا تاکہ تمام میموری کا استعمال کرتے ہوئے اسٹیک ہے. 1476 01:18:18,430 --> 01:18:21,550 >> اب، FOO کو بھی کی جا رہی ہے اہم 24 واپس کرنے کے لئے. 1477 01:18:21,550 --> 01:18:25,470 تو اب ہے کہ FOO، میموری واپس آ رہا ہے کہ FOO اس میں استعمال کیا گیا تھا 1478 01:18:25,470 --> 01:18:27,550 اسٹیک فریم بھی کی گئی ہے. 1479 01:18:27,550 --> 01:18:29,660 اور اب، اہم printf کو فون کرنے جا رہا ہے. 1480 01:18:29,660 --> 01:18:31,660 تو printf صرف ایک تقریب ہے. 1481 01:18:31,660 --> 01:18:35,320 ہم printf کال کرتے ہیں، یہ ہونے جا رہا ہے printf کے لئے ایک اسٹیک فریم 1482 01:18:35,320 --> 01:18:36,470 تقریب کال. 1483 01:18:36,470 --> 01:18:37,990 >> کیا ہم printf گزر رہے ہیں؟ 1484 01:18:37,990 --> 01:18:40,090 وہ جانے کے لئے جا رہا ہے اس کے اسٹیک فریم پر. 1485 01:18:40,090 --> 01:18:44,970 بہت کم سے کم، ہم گزر رہے ہیں کہ فیصد میں (ن) الٹا سلیش اور 1486 01:18:44,970 --> 01:18:47,180 دلیل 24. 1487 01:18:47,180 --> 01:18:50,370 یہ اسٹیک فریم ہے میں زیادہ ہو سکتا ہے printf کے کچھ کا استعمال ہوتا ہے 1488 01:18:50,370 --> 01:18:51,200 مقامی متغیر. 1489 01:18:51,200 --> 01:18:51,920 ہم نہیں جانتے. 1490 01:18:51,920 --> 01:18:53,810 >> لیکن سب کہ printf میں جاتا ہے فریم کتابیں رکھی. 1491 01:18:53,810 --> 01:18:55,740 یہ printf کے عمل کرنے کے لئے جا رہا ہے. 1492 01:18:55,740 --> 01:18:56,830 پھر printf کیا ہے. 1493 01:18:56,830 --> 01:18:57,820 یہ واپس آ جائیں گے. 1494 01:18:57,820 --> 01:18:58,960 آخر میں، اہم کیا جاتا ہے. 1495 01:18:58,960 --> 01:18:59,860 مین واپس آ جائیں گے. 1496 01:18:59,860 --> 01:19:02,020 اور پھر ہمارے پروگرام کیا جاتا ہے. 1497 01:19:02,020 --> 01:19:02,480 جی ہاں؟ 1498 01:19:02,480 --> 01:19:04,505 >> سامعین: آپ دیکھ رہے ہیں [اشراوی] 1499 01:19:04,505 --> 01:19:05,900 دلائل [اشراوی] 1500 01:19:05,900 --> 01:19:06,830 پیرامیٹرز؟ 1501 01:19:06,830 --> 01:19:09,970 >> روب: تو ایک ٹھیک ٹھیک فرق ہے دلائل اور پیرامیٹرز کے درمیان. 1502 01:19:09,970 --> 01:19:14,400 اور واقعی، عام بات میں، لوگوں کے لئے ہوتے ہیں صرف ہر وقت ان کے اختلاط. 1503 01:19:14,400 --> 01:19:17,550 لیکن پیرامیٹرز رسمی ہیں چیزوں کے نام. 1504 01:19:17,550 --> 01:19:20,180 >> تو argc اور argv ہیں اہم پیرامیٹرز. 1505 01:19:20,180 --> 01:19:23,440 دلائل جو آپ اصل میں ہیں ان پیرامیٹرز کے طور پر میں منتقل. 1506 01:19:23,440 --> 01:19:28,340 تو وہاں میں 4 FOO کے، 4 فون جب میں گزر رہا ہوں دلیل ہے. 1507 01:19:28,340 --> 01:19:31,460 اور کے اندر پیرامیٹر (ن)، FOO کو، قیمت 4 پر لیتا ہے 1508 01:19:31,460 --> 01:19:32,880 4 سے دلیل تھی. 1509 01:19:32,880 --> 01:19:35,826 >> سامعین: [اشراوی]؟ 1510 01:19:35,826 --> 01:19:37,880 >> روب: N بار ایک مقامی متغیر ہے. 1511 01:19:37,880 --> 01:19:41,420 1512 01:19:41,420 --> 01:19:44,960 (ن)، اب بھی FOO کے لئے مقامی ہے، لیکن اسے FOO کرنے کے لئے ایک پیرامیٹر ہے. 1513 01:19:44,960 --> 01:19:48,190 یہ ایک مقامی متغیر نہیں ہے. 1514 01:19:48,190 --> 01:19:48,546 جی ہاں؟ 1515 01:19:48,546 --> 01:19:51,180 >> سامعین: [اشراوی]؟ 1516 01:19:51,180 --> 01:19:55,400 >> روب: FOO کو صرف بلا رہا ہے بار اور جو کچھ بھی بار منافع واپس آنے. 1517 01:19:55,400 --> 01:19:56,786 >> سامعین: [اشراوی]؟ 1518 01:19:56,786 --> 01:19:59,591 >> روب: جی ہاں، صرف ایک سے زیادہ دیکھنے کے لئے فریم کتابیں رکھی. 1519 01:19:59,591 --> 01:20:00,082 جی ہاں؟ 1520 01:20:00,082 --> 01:20:03,519 >> سامعین کیوں FOO کو بلایا گیا تھا printf کے پہلے؟ 1521 01:20:03,519 --> 01:20:05,920 >> روب: کیوں FOO کو printf کے پہلے بلایا گیا تھا؟ 1522 01:20:05,920 --> 01:20:10,740 میں ہو سکتا ہے تو، اس کے بجائے، کچھ int کی طرح ایکس 4 FOO کے برابر 1523 01:20:10,740 --> 01:20:12,980 اور پھر ایکس طباعت. 1524 01:20:12,980 --> 01:20:17,900 لیکن اس کے بجائے، میں تقریب مشترکہ printf کے دلیل میں کہتے ہیں. 1525 01:20:17,900 --> 01:20:23,670 >> نوٹس لیکن ہے کہ ہم اصل میں نہیں کر سکتے ہیں جب تک ہم printf کی کال کو پھانسی 1526 01:20:23,670 --> 01:20:25,610 4 FOO کو کیا پتہ. 1527 01:20:25,610 --> 01:20:27,480 تو ہم اس کا اندازہ کرنے کے لئے جا رہے ہیں. 1528 01:20:27,480 --> 01:20:32,504 اور یہ کہ کیا صرف ایک بار جا رہے ہیں واپس آنے اور اس کا اندازہ کرنے. 1529 01:20:32,504 --> 01:20:32,990 جی ہاں؟ 1530 01:20:32,990 --> 01:20:37,364 >> سامعین: دونوں بار کے بعد [اشراوی] 1531 01:20:37,364 --> 01:20:41,738 قیمت، ہم کیوں [اشراوی] نہیں ہے؟ 1532 01:20:41,738 --> 01:20:44,400 >> روب: وہ مکمل طور پر int کے ہونا چاہئے. 1533 01:20:44,400 --> 01:20:46,260 اس پر پکڑے نہیں کیا گیا تھا ایک سے زیادہ کے پاس. 1534 01:20:46,260 --> 01:20:49,010 تو یہ int بار اور int ہونا چاہئے ان میں سے دونوں سے ہے FOO 1535 01:20:49,010 --> 01:20:50,460 integers کے واپس آ رہے ہیں. 1536 01:20:50,460 --> 01:20:54,214 وہ نہیں جا رہے ہیں تو صفر ہے اصل اقدار واپس کرنے کے لئے. 1537 01:20:54,214 --> 01:20:54,692 جی ہاں؟ 1538 01:20:54,692 --> 01:20:58,038 >> سامعین: آپ کو ایک لائن تھا تو اوپر واپس، [اشراوی]؟ 1539 01:20:58,038 --> 01:21:01,862 1540 01:21:01,862 --> 01:21:03,730 >> روب: واپس اوپر ایک لائن؟ 1541 01:21:03,730 --> 01:21:04,410 >> سامعین: جی ہاں. 1542 01:21:04,410 --> 01:21:10,780 طرح آپ printf اور [اشراوی] کیا تو، یہ دو مرتبہ پرنٹ کرے گا؟ 1543 01:21:10,780 --> 01:21:12,992 >> روب: FOO کی اندر تو؟ 1544 01:21:12,992 --> 01:21:15,945 ہم یہاں ایک printf تو؟ 1545 01:21:15,945 --> 01:21:16,750 >> سامعین: جی ہاں. 1546 01:21:16,750 --> 01:21:19,510 >> روب: تو ہم ایک printf حق تھا یہاں، ایک بار پرنٹ گی. 1547 01:21:19,510 --> 01:21:23,400 ہم ایک بار صحیح FOO کو بلا رہے ہیں کے بعد سے یہاں، پھر ہم printf مار دونگا. 1548 01:21:23,400 --> 01:21:24,620 پھر ہم بار فون کروں گا. 1549 01:21:24,620 --> 01:21:25,710 اور پھر FOO واپس آ جائیں گے. 1550 01:21:25,710 --> 01:21:26,275 اور یہ بات ہے. 1551 01:21:26,275 --> 01:21:30,985 ہم صرف کبھی سامنا ایک بار printf کے. 1552 01:21:30,985 --> 01:21:31,482 جی ہاں؟ 1553 01:21:31,482 --> 01:21:32,973 >> سامعین: [اشراوی] 1554 01:21:32,973 --> 01:21:37,950 ہم سب سے پہلے ہیں کیونکہ printf کے FOO کو بلا printf بلا اور پھر ہم گزر رہے ہیں 1555 01:21:37,950 --> 01:21:38,580 دلائل. 1556 01:21:38,580 --> 01:21:40,960 >> روب: اصول میں تو نہیں ہے، printf کے FOO کو بلا؟ 1557 01:21:40,960 --> 01:21:42,220 تو کوئی. 1558 01:21:42,220 --> 01:21:47,360 C کرنے کے لئے جا رہا ہے کہ بس حکم ہم کر سکتے ہیں اس سے پہلے، ان چیزوں ہے پھانسی 1559 01:21:47,360 --> 01:21:49,800 ، دلائل کے سب ایک تقریب کہتے ہیں تقریب میں کرنے کی ضرورت ہے 1560 01:21:49,800 --> 01:21:51,600 مکمل طور پر تعین کیا جائے. 1561 01:21:51,600 --> 01:21:53,540 تو یہ مکمل طور پر اندازہ کیا جاتا ہے؟ 1562 01:21:53,540 --> 01:21:54,610 جی ہاں، یہ صرف ایک تار ہے. 1563 01:21:54,610 --> 01:21:55,480 یہ صرف ایک قیمت ہے. 1564 01:21:55,480 --> 01:21:57,200 >> پھر ہم مکمل طور پر کرنے کے لئے ہے اس کا اندازہ. 1565 01:21:57,200 --> 01:21:59,720 اب یہ سب سے، کیا جاتا ہے ایک بار اس کے دلائل کا تعین کر رہے ہیں. 1566 01:21:59,720 --> 01:22:01,982 اور اب ہم کر سکتے ہیں printf کی کال. 1567 01:22:01,982 --> 01:22:02,478 جی ہاں؟ 1568 01:22:02,478 --> 01:22:03,966 >> سامعین: ایک سوال. 1569 01:22:03,966 --> 01:22:06,942 آپ کو ایک صفر کی تقریب ہے، تو ضروری ہے آپ کی واپسی نیم وقفہ ہے؟ 1570 01:22:06,942 --> 01:22:09,910 >> روب: آپ کو ایک واپسی نیم وقفہ نہیں آپ کو ایک صفر کی تقریب ہے تو. 1571 01:22:09,910 --> 01:22:13,370 1572 01:22:13,370 --> 01:22:14,780 ٹھیک ہے. 1573 01:22:14,780 --> 01:22:15,830 تو اب کچھ ڈھیر چیزیں. 1574 01:22:15,830 --> 01:22:19,640 تو ڈھیر ہم نمٹنے کے لئے جا رہے ہیں کہ کس طرح ہے متحرک یاد داشت مینجمنٹ کے ساتھ. 1575 01:22:19,640 --> 01:22:23,100 اور یہ براہ راست کے ساتھ برعکس ہم خود کار طریقے سے فون کریں گے، جس میں اسٹیک 1576 01:22:23,100 --> 01:22:24,100 یاد داشت مینجمنٹ. 1577 01:22:24,100 --> 01:22:27,140 >> اسٹیک پر تو، آپ کو واقعی کبھی نہیں کس طرح مقامی متغیر کے ساتھ نمٹنے کے لئے 1578 01:22:27,140 --> 01:22:30,400 دھکیل دیا اور سب سے کھولے جا رہے ہیں ان اسٹیک فریم اور وہ سب چیزیں. 1579 01:22:30,400 --> 01:22:31,070 آپ اس کے بارے میں فکر کرنے کی ضرورت نہیں. 1580 01:22:31,070 --> 01:22:32,070 یہ خود کار طریقے سے ہے. 1581 01:22:32,070 --> 01:22:36,990 تو ڈھیر دستی ہے. 1582 01:22:36,990 --> 01:22:38,070 اور [اشراوی] 1583 01:22:38,070 --> 01:22:41,260 ان کے افعال میں سے آتا ہے malloc اور آزاد. 1584 01:22:41,260 --> 01:22:43,550 >> تو یہاں ایک اور پروگرام ہے. 1585 01:22:43,550 --> 01:22:47,145 ہم کر رہے ہیں تمام mallocing کے ہے ایک عددی. 1586 01:22:47,145 --> 01:22:49,360 ہم نے سٹار ایکس میں ذخیرہ کرنے کر رہے ہیں. 1587 01:22:49,360 --> 01:22:52,520 کورس کے، ہم چیک کرنے کے لیے X شہوت انگیز null ہے تو دیکھنے کے لئے. 1588 01:22:52,520 --> 01:22:56,400 پھر ہم صرف کیا قائم کرنے کے لئے جا رہے ہیں ایکس 50 کی طرف اشارہ ہے. 1589 01:22:56,400 --> 01:23:00,350 1590 01:23:00,350 --> 01:23:03,260 ، کی طرف اشارہ کیا جاتا ہے ایکس پرنٹ پرنٹ ایکس، اور پھر مفت ایکس. 1591 01:23:03,260 --> 01:23:08,920 >> تو کس طرح یہ اصل میں دیکھنے کے لئے کی جا رہی ہے ہم ہمارے اسٹیک اور ڈھیر پر نظر ڈالیں تو؟ 1592 01:23:08,920 --> 01:23:10,950 تو ہم پھر سے شروع کریں گے. 1593 01:23:10,950 --> 01:23:12,580 کے طور پر اس سے پہلے ہمارے اسٹیک کے سب سے نیچے. 1594 01:23:12,580 --> 01:23:15,930 تجھے براہ راست ڈھیر یاد رکھیں کہ اسٹیک کی مخالفت کرتا ہے؟ 1595 01:23:15,930 --> 01:23:18,850 تو ہم جا رہے ہیں وہاں ہماری ڈھیر کے سب سے اوپر. 1596 01:23:18,850 --> 01:23:22,590 >> ہمارے اسٹیک کے سب سے نیچے تو، ہم اہم کے لئے ہمارے اسٹیک فریم. 1597 01:23:22,590 --> 01:23:28,000 یہ جہاں argc، argv کے لئے جگہ ہے، اور ہم اب ایک مقامی متغیر X، ہے جس میں 1598 01:23:28,000 --> 01:23:30,030 ایک int ستارہ ہے. 1599 01:23:30,030 --> 01:23:32,240 تو ہم iterate کرنے کے لئے جا رہے ہیں اس پروگرام کے ذریعے. 1600 01:23:32,240 --> 01:23:34,420 ہم نے سب سے پہلے بات یہ ہے malloc پر کال. 1601 01:23:34,420 --> 01:23:36,250 >> تو ہم malloc پر کال کرنے کر رہے ہیں. 1602 01:23:36,250 --> 01:23:37,100 malloc کی ایک تقریب ہے. 1603 01:23:37,100 --> 01:23:38,770 یہ ایک اسٹیک فریم حاصل کرنے کے لئے جا رہا ہے. 1604 01:23:38,770 --> 01:23:40,180 کیا ہم malloc پر گزر رہے ہیں؟ 1605 01:23:40,180 --> 01:23:41,610 اس کے اندر جانے کے لئے جا رہا ہے اسٹیک فریم کے. 1606 01:23:41,610 --> 01:23:45,130 ہم 4 ہے جس میں (ن)، کے سائز گزر رہے ہیں. 1607 01:23:45,130 --> 01:23:49,700 تو اس malloc پر منظور کیا جاتا ہے. 1608 01:23:49,700 --> 01:23:50,910 >> malloc کا کیا کرتا ہے؟ 1609 01:23:50,910 --> 01:23:53,820 یہ ہم ڈھیر پر کسی جگہ گرپس. 1610 01:23:53,820 --> 01:23:55,320 تو ہم ڈھیر پر جانے کے لئے جا رہے ہیں. 1611 01:23:55,320 --> 01:23:57,990 اور ہم پر قبضہ کرنے جا رہے ہیں ڈھیر سے 4 بائٹس. 1612 01:23:57,990 --> 01:24:01,500 تو صرف یہ ہے کہ دے دو ایک صوابدیدی ایڈریس. 1613 01:24:01,500 --> 01:24:06,680 0x123 بس ایک ہے دکھاوا ڈھیر پر ہے کہ ایڈریس. 1614 01:24:06,680 --> 01:24:12,300 >> تو اس کے اندر اصل میں کیا ہے ایڈریس Ox123 میں میموری کے علاقے؟ 1615 01:24:12,300 --> 01:24:13,080 ردی کی ٹوکری. 1616 01:24:13,080 --> 01:24:15,270 تو ہم اس میں کچھ بھی محفوظ نہیں ہے. 1617 01:24:15,270 --> 01:24:18,830 تو جہاں تک ہم، یہ جانتے کے طور پر کچھ بھی ہو سکتا. 1618 01:24:18,830 --> 01:24:20,560 تم یہ صفر ہے فرض نہیں کرنا چاہیے. 1619 01:24:20,560 --> 01:24:23,870 یہ صفر نہیں سب سے زیادہ امکان ہے. 1620 01:24:23,870 --> 01:24:26,260 >> تو اب malloc کی واپسی. 1621 01:24:26,260 --> 01:24:28,020 اور ہم جب malloc کی واپسی کیا کروں؟ 1622 01:24:28,020 --> 01:24:29,800 ہم اسے واپس کیا مقرر. 1623 01:24:29,800 --> 01:24:32,290 ہم برابر X قائم کیا یہ واپس آ رہا ہے. 1624 01:24:32,290 --> 01:24:33,690 تو کیا یہ واپس آ رہا ہے؟ 1625 01:24:33,690 --> 01:24:38,150 ہے کے بعد سے یہ 0x123 واپس آ گیا ہے میموری کی بلاک کا پتہ یہ ہے کہ 1626 01:24:38,150 --> 01:24:40,850 صرف ڈھیر میں مختص. 1627 01:24:40,850 --> 01:24:47,160 >> تو 0x123 ایکس اب قائم کیا جا رہا ہے واپس 0x123 کے برابر ہے، جو pictorially کا، 1628 01:24:47,160 --> 01:24:52,940 ہم اکثر ایک حقیقی ہونے ایکس کے طور پر اپنی طرف متوجہ اس بلاک کی طرف اشارہ کرتے تیر. 1629 01:24:52,940 --> 01:24:55,820 لیکن ایکس صرف یہ ہے کہ پتہ ذخیرہ کرنے کا ہے. 1630 01:24:55,820 --> 01:24:58,670 تو اب ہم X شہوت انگیز null ہے تو چیک کرنے کے لئے ہے. 1631 01:24:58,670 --> 01:24:59,120 یہ شہوت انگیز null نہیں ہے. 1632 01:24:59,120 --> 01:25:02,170 ہم اس malloc کے کامیاب کہ دکھاوا. 1633 01:25:02,170 --> 01:25:04,950 >> تو اب اسٹار X 50 کے برابر ہے. 1634 01:25:04,950 --> 01:25:08,450 تو اس کا مطلب یہ ستارہ یاد اس ایڈریس پر جاؤ. 1635 01:25:08,450 --> 01:25:12,700 تو 0x123 ہم کرنے جا رہے ہیں اس ایڈریس پر جاؤ. 1636 01:25:12,700 --> 01:25:14,660 تو ہے کہ ہمیں لاتا ہے. 1637 01:25:14,660 --> 01:25:16,310 ہم اس پتے پر کیا کر رہے ہیں؟ 1638 01:25:16,310 --> 01:25:19,020 ہم 50 ذخیرہ کرنے کر رہے. 1639 01:25:19,020 --> 01:25:22,500 >> تو اس لائن کے بعد، وہ کیا ہے چیزوں کی طرح دیکھنے کے لئے جا رہے ہیں. 1640 01:25:22,500 --> 01:25:24,640 تو اب یہ اب کوئی ہے وہاں ردی کی ٹوکری. 1641 01:25:24,640 --> 01:25:28,910 اب ہم 50 اس میں ہے مخصوص ایڈریس کی وجہ سے 1642 01:25:28,910 --> 01:25:32,410 ہم نے اس کے لئے مقرر. 1643 01:25:32,410 --> 01:25:32,790 ٹھیک ہے؟ 1644 01:25:32,790 --> 01:25:34,370 تو اب ہم F پرنٹ کرنے کے لئے جا رہے ہیں. 1645 01:25:34,370 --> 01:25:38,490 >> تو سب سے پہلے ہم نے سٹار ایکس پرنٹ کرنے کے لئے جا رہے ہیں. 1646 01:25:38,490 --> 01:25:39,640 تو اسٹار ایکس کیا ہے؟ 1647 01:25:39,640 --> 01:25:44,300 ایک بار پھر، ستارہ ایکس کرنے کے لئے جانے کا مطلب ہے کہ ایکس اشارہ کر رہا ہے کہ بات. 1648 01:25:44,300 --> 01:25:47,140 تو ایکس کہ 0x123 جاؤ ذخیرہ کرنے کا ہے. 1649 01:25:47,140 --> 01:25:48,490 ہم 50 حاصل. 1650 01:25:48,490 --> 01:25:50,540 تو یہ F پرنٹ. 1651 01:25:50,540 --> 01:25:54,900 اور یہ کہ یہ 50 پرنٹ جا رہا ہے کا مطلب ہے. 1652 01:25:54,900 --> 01:25:56,850 اور پھر واپس. 1653 01:25:56,850 --> 01:25:58,340 >> اور پھر ہم دوسری printf ہے. 1654 01:25:58,340 --> 01:25:59,370 اب ہم فیصد P ہیں. 1655 01:25:59,370 --> 01:26:01,680 آپ نے اسے دیکھا نہیں ہے، کہ ہے صرف آپ کو ایک پوائنٹر پرنٹ کے لئے کس طرح. 1656 01:26:01,680 --> 01:26:04,960 تو ہم، فیصد میں ہے F، اور پہلے ہی ان میں سے سب. 1657 01:26:04,960 --> 01:26:07,160 تو فیصد P، ایک پوائنٹر پرنٹ. 1658 01:26:07,160 --> 01:26:08,920 >> تو ایکس ایک پوائنٹر ہے. 1659 01:26:08,920 --> 01:26:13,440 تو ہم نے خود کو ایکس پرنٹ کرنے کے لئے جا رہے ہیں، ہم اندر اصل میں کیا چھپائی رہے ہیں 1660 01:26:13,440 --> 01:26:19,220 تو سب سے پہلے 0x123 ہے جو ایکس، پرنٹ F 50 پرنٹ کرنے کے لئے کی جا رہی ہے. 1661 01:26:19,220 --> 01:26:23,620 دوسری پرنٹ F کی جا رہی ہے جی ہاں 0x123 پرنٹ کرنے کے لئے؟ 1662 01:26:23,620 --> 01:26:27,460 >> سامعین: آپ فیصد استعمال کرتے ہیں X پوائنٹر پرنٹ کرنے کے لئے؟ 1663 01:26:27,460 --> 01:26:31,200 >> روب: تو آپ فیصد استعمال کرتے ہیں X پوائنٹر پرنٹ کرنے کے لئے؟ 1664 01:26:31,200 --> 01:26:38,350 تو، آپ کر سکتے ہیں، لیکن فیصد ایکس صرف ہے عام طور پر، کے لئے اگر آپ کو کچھ ہے تو 1665 01:26:38,350 --> 01:26:40,325 عددی اور آپ کو پرنٹ کرنے کے لئے چاہتے ہیں یہ ایک شش اعشاری کے طور پر. 1666 01:26:40,325 --> 01:26:43,250 1667 01:26:43,250 --> 01:26:44,880 آپ ایسا کس طرح صرف ہے کہ. 1668 01:26:44,880 --> 01:26:47,160 >> جبکہ، فیصد D گے دشملو کے طور پر پرنٹ. 1669 01:26:47,160 --> 01:26:50,310 ہم فیصد حاصل کیا گیا ہے کہ ہے ڈی. میں صرف عدد صحیح ہے. 1670 01:26:50,310 --> 01:26:52,690 فیصد P خاص طور پر ہے اشارہ کے لئے. 1671 01:26:52,690 --> 01:26:54,060 >> تو ایکس ایک پوائنٹر ہے. 1672 01:26:54,060 --> 01:26:56,360 ہم فیصد P استعمال کرنا چاہتے ہیں. 1673 01:26:56,360 --> 01:26:57,937 لیکن فیصد ایکس کام کر سکتے ہیں. 1674 01:26:57,937 --> 01:26:58,414 جی ہاں؟ 1675 01:26:58,414 --> 01:26:59,664 >> سامعین: [اشراوی]؟ 1676 01:26:59,664 --> 01:27:04,138 1677 01:27:04,138 --> 01:27:05,388 >> روب: جی ہاں. 1678 01:27:05,388 --> 01:27:07,870 1679 01:27:07,870 --> 01:27:13,440 اس کے لئے تو کم از کم call-- میں یہاں اس میں شامل نہیں کیا. 1680 01:27:13,440 --> 01:27:19,850 لیکن ان دو دلائل ضروری ہیں اس اسٹیک فریم کے اندر 1681 01:27:19,850 --> 01:27:23,040 کسی بھی مقامی متغیر کے ساتھ printf کا استعمال کرتے ہوئے کرنے کے لئے ہوتا. 1682 01:27:23,040 --> 01:27:27,020 اور پھر اگلے کال اب printf سے printf کی کے اندر اسٹیک فریم ہے 1683 01:27:27,020 --> 01:27:33,960 فیصد P الٹا سلیش (ن) اور جو کچھ بھی X کی قدر 0x123 ہے، ہے. 1684 01:27:33,960 --> 01:27:34,425 جی ہاں؟ 1685 01:27:34,425 --> 01:27:35,675 >> سامعین: [اشراوی]؟ 1686 01:27:35,675 --> 01:27:38,145 1687 01:27:38,145 --> 01:27:40,880 >> روب: یہ کچھ پرنٹ کریں گے ہے کہ اس طرح لگ رہا ہے. 1688 01:27:40,880 --> 01:27:41,846 >> سامعین: [اشراوی]. 1689 01:27:41,846 --> 01:27:44,510 >> روب: تو اس ایڈریس شکل میں پرنٹ. 1690 01:27:44,510 --> 01:27:47,003 یہ پتہ کی طرح لگتا ہے. 1691 01:27:47,003 --> 01:27:47,494 جی ہاں؟ 1692 01:27:47,494 --> 01:27:49,458 >> سامعین: [اشراوی]؟ 1693 01:27:49,458 --> 01:27:51,075 >> روب: کیوں کیا ہے؟ 1694 01:27:51,075 --> 01:27:52,920 >> سامعین: [اشراوی]؟ 1695 01:27:52,920 --> 01:27:55,240 >> روب: کیوں اس پوائنٹر 4 بائٹس ہے؟ 1696 01:27:55,240 --> 01:27:58,500 تو ایک پوری چڑھانے ہیں اس کے سامنے میں 0 کی. 1697 01:27:58,500 --> 01:28:03,740 تو یہ واقعی 0x0000000123 ہے. 1698 01:28:03,740 --> 01:28:06,510 ایک 64 بٹ نظام پر، وہاں ہو جائے گا زیادہ سے zeros کی ایک پوری چڑھانے. 1699 01:28:06,510 --> 01:28:11,410 1700 01:28:11,410 --> 01:28:11,900 جی ہاں؟ 1701 01:28:11,900 --> 01:28:13,150 >> سامعین: [اشراوی]. 1702 01:28:13,150 --> 01:28:17,290 1703 01:28:17,290 --> 01:28:21,130 >> روب: تو پہلے printf کے print-- جا رہا ہے 1704 01:28:21,130 --> 01:28:21,980 >> سامعین: [اشراوی]. 1705 01:28:21,980 --> 01:28:24,420 >> روب: جی ہاں، اس کو پرنٹ کرنے کے لئے جا رہا ہے کیا ایکس اشارہ کر رہا ہے. 1706 01:28:24,420 --> 01:28:27,030 1707 01:28:27,030 --> 01:28:29,070 سٹار یہ کیا ہے کا کہنا ہے کہ بات کی طرف اشارہ. 1708 01:28:29,070 --> 01:28:30,300 اسے پکڑو. 1709 01:28:30,300 --> 01:28:31,455 تو اس کی طرف اشارہ کیا ہے؟ 1710 01:28:31,455 --> 01:28:31,850 50. 1711 01:28:31,850 --> 01:28:32,410 اسے پکڑو. 1712 01:28:32,410 --> 01:28:33,390 کہ ہم پرنٹ کرنے کے لئے جا رہے ہیں. 1713 01:28:33,390 --> 01:28:37,020 اگلے ایک، جبکہ، ہم ہیں صرف خود ایکس پرنٹنگ. 1714 01:28:37,020 --> 01:28:38,850 ایف کے اندر کیا ہے؟ 1715 01:28:38,850 --> 01:28:43,710 0x123. 1716 01:28:43,710 --> 01:28:44,500 ٹھیک ہے. 1717 01:28:44,500 --> 01:28:46,620 >> اور پھر آخر میں، ہم مفت ہے. 1718 01:28:46,620 --> 01:28:48,040 کیا ہم آزاد کرنے کے لئے گزر رہے ہیں؟ 1719 01:28:48,040 --> 01:28:49,470 ہم ایکس گزر رہے ہیں. 1720 01:28:49,470 --> 01:28:52,380 میں واقعی میں ظاہر ہے کہ وقت اس اسٹیک فریم میں. 1721 01:28:52,380 --> 01:28:56,370 >> تو ہم نے قیمت گزر رہے ہیں 0x123 آزاد کرنے کے لئے. 1722 01:28:56,370 --> 01:28:59,070 تو اب جانتا مفت، ٹھیک ہے، میں ڈھیر کرنے کے لئے جانے کے لئے ہے 1723 01:28:59,070 --> 01:29:00,050 اور یہ کہ میموری مفت. 1724 01:29:00,050 --> 01:29:03,920 اب یہ استعمال کرتے ہوئے ہے ایڈریس 0x123 ہے. 1725 01:29:03,920 --> 01:29:07,010 >> مفت کے جاری کرنے کے لئے کی جا رہی ہے ڈھیر سے. 1726 01:29:07,010 --> 01:29:09,490 اب ہماری ڈھیر پھر خالی ہے. 1727 01:29:09,490 --> 01:29:11,120 ہم کوئی میموری لیک ہے. 1728 01:29:11,120 --> 01:29:12,940 اب مفت واپس آ جائیں گے. 1729 01:29:12,940 --> 01:29:16,130 کہ ایکس بھی 0x123 ہے توجہ. 1730 01:29:16,130 --> 01:29:18,240 لیکن ہے کہ اب درست میموری نہیں ہے. 1731 01:29:18,240 --> 01:29:21,220 1732 01:29:21,220 --> 01:29:23,986 اب ہم dereference ہے ایکس چاہئے. 1733 01:29:23,986 --> 01:29:24,440 جی ہاں؟ 1734 01:29:24,440 --> 01:29:27,240 >> سامعین: 0 فالتو واپسی ہے؟ 1735 01:29:27,240 --> 01:29:28,290 >> روب: 0 فالتو returen ہے؟ 1736 01:29:28,290 --> 01:29:31,110 جی ہاں. 1737 01:29:31,110 --> 01:29:33,950 ہم صرف کیونکہ وہاں ڈال ہم ہوائی جہاز کے لئے کی واپسی سے ایک ہے. 1738 01:29:33,950 --> 01:29:36,830 تو یہ جی ہاں، کی اجازت دیتا ہے، کی طرح ہے واپسی 0 شامل. 1739 01:29:36,830 --> 01:29:37,310 جی ہاں؟ 1740 01:29:37,310 --> 01:29:38,560 >> سامعین: [اشراوی]؟ 1741 01:29:38,560 --> 01:29:42,110 1742 01:29:42,110 --> 01:29:45,580 >> روب: تو مفت ایکس کے بعد، کیا تو کیا ہوتا ہم پوائنٹر dereference کی کوشش؟ 1743 01:29:45,580 --> 01:29:47,240 یہ کچھ غلط ہو جاتا ہے ممکن ہے کہ. 1744 01:29:47,240 --> 01:29:49,330 ہم اب بھی 50 ملے گا کہ یہ ممکن ہے. 1745 01:29:49,330 --> 01:29:53,590 >> یہ کہ میموری ہے کہ، بھی، ممکن ہے اب کچھ اور کے لئے استعمال کیا جا رہا ہے. 1746 01:29:53,590 --> 01:29:57,140 تو یہ جانچ رویہ ہے. 1747 01:29:57,140 --> 01:30:00,772 اور جانچ کچھ کا مطلب ہو سکتا ہے. 1748 01:30:00,772 --> 01:30:01,250 جی ہاں؟ 1749 01:30:01,250 --> 01:30:02,500 >> سامعین: [اشراوی]؟ 1750 01:30:02,500 --> 01:30:07,942 1751 01:30:07,942 --> 01:30:10,830 >> روب: نہیں، تو آپ کو تفویض کچھ ایکس. 1752 01:30:10,830 --> 01:30:15,870 تو یہاں تو ہم ایکس کے برابر ہے نے کہا کچھ malloc else-- 1753 01:30:15,870 --> 01:30:17,100 malloc کے سائز ایونٹ 1754 01:30:17,100 --> 01:30:20,180 اس کے بعد اس کی اصل بلاک میموری کی آزاد نہیں ہے. 1755 01:30:20,180 --> 01:30:21,490 اور ہم نے باضابطہ طور پر اس کو کھو دیا ہے. 1756 01:30:21,490 --> 01:30:23,150 یہ ایک میموری لیک ہے. 1757 01:30:23,150 --> 01:30:25,090 ہم تمام حوالہ جات کو کھو دیا ہے میموری کے اس بلاک کرنے کے لئے. 1758 01:30:25,090 --> 01:30:26,827 تو ہم نے کبھی یہ آزاد کر سکتے ہیں کوئی راستہ نہیں ہے. 1759 01:30:26,827 --> 01:30:32,074 1760 01:30:32,074 --> 01:30:36,630 ٹھیک ہے، تو پھر کیا 0 کا مطلب ہے واپس. 1761 01:30:36,630 --> 01:30:37,900 >> ٹھیک ہے، تو اسٹیک اتپرواہ. 1762 01:30:37,900 --> 01:30:39,320 یہاں خیال کیا ہے؟ 1763 01:30:39,320 --> 01:30:41,210 تو یاد، ڈھیر نیچے جا رہا ہے. 1764 01:30:41,210 --> 01:30:43,480 اسٹیک ہو رہا ہے. 1765 01:30:43,480 --> 01:30:48,000 تو اس لیکچر سے مثال کے طور پر، تھا میں جہاں اہم صرف کی جا رہی ہے، لگتا ہے 1766 01:30:48,000 --> 01:30:51,380 جا رہا ہے جس میں اس تقریب FOO، فون پر تکراری طور پر خود کو فون کرنے کے لئے اور 1767 01:30:51,380 --> 01:30:52,320 پھر سے. 1768 01:30:52,320 --> 01:30:55,370 >> تو فریم جا رہے ہیں ڈھیر لگانا بالکل اسی کام. 1769 01:30:55,370 --> 01:30:58,130 تو ہم بنیادی کے ساتھ شروع کرنے کے لئے جا رہے ہیں پایان اسٹیک فریم کے طور پر. 1770 01:30:58,130 --> 01:31:02,000 پھر سب سے اہم، FOO کو فون کرنے جا رہا ہے جس میں ایک اسٹیک فریم حاصل کرنے کے لئے کی جا رہی ہے. 1771 01:31:02,000 --> 01:31:04,260 >> پھر FOO FOO کو فون کرنے جا رہا ہے پھر، جس کے حاصل کرنے کے لئے کی جا رہی ہے 1772 01:31:04,260 --> 01:31:05,500 دوسرے اسٹیک فریم. 1773 01:31:05,500 --> 01:31:08,270 اور پھر، اور پھر، اور پھر، اور پھر جب تک، آخر میں، ہم کو چلانے کے 1774 01:31:08,270 --> 01:31:09,190 ڈھیر میں. 1775 01:31:09,190 --> 01:31:11,990 تو یہ ہم کس طرح ہے ایک اسٹیک اتپرواہ. 1776 01:31:11,990 --> 01:31:14,910 اور اس وقت، آپ کو seg غلطی. 1777 01:31:14,910 --> 01:31:17,335 یا آپ واقعی سگ پہلے غلطی کروں گا اس نقطہ لیکن ہاں. 1778 01:31:17,335 --> 01:31:19,660 >> سامعین: کور ڈمپ ہے seg غلطی کے طور پر ہی؟ 1779 01:31:19,660 --> 01:31:26,140 >> روب: تو آپ انقطاع دیکھیں گے غلطی کور پھینک دیا. 1780 01:31:26,140 --> 01:31:28,760 آپ کو ایک بنیادی ڈمپ جب حاصل آپ seg غلطی. 1781 01:31:28,760 --> 01:31:32,580 اور اس کے سب سے ایک ڈمپ کی طرح ہے آپ کی موجودہ میموری کا مواد تو 1782 01:31:32,580 --> 01:31:36,670 آپ کوشش کریں اور شناخت کر سکتے ہیں کیوں آپ کو مؤرد الزام ٹھہرایا SEG. 1783 01:31:36,670 --> 01:31:37,135 جی ہاں؟ 1784 01:31:37,135 --> 01:31:38,385 >> سامعین: [اشراوی]؟ 1785 01:31:38,385 --> 01:31:40,855 1786 01:31:40,855 --> 01:31:45,460 >> روب: تو ایک انقطاع غلطی کا مطلب ایک اسٹیک اتپرواہ نہیں ہے. 1787 01:31:45,460 --> 01:31:47,060 تو ضروری نہیں. 1788 01:31:47,060 --> 01:31:49,880 ایک انقطاع غلطی تم کا مطلب ہے کہ ایک طرح سے چھونے میموری 1789 01:31:49,880 --> 01:31:50,880 آپ کو اجازت نہیں. 1790 01:31:50,880 --> 01:31:54,750 تو ہے کہ کیا ہو رہا کا ایک طریقہ، جب آپ کو ہم چھونے شروع، اتپرواہ ڈھیر لگانا 1791 01:31:54,750 --> 01:31:58,736 ہم نہیں ہونا چاہئے کہ ایک طرح سے میموری. 1792 01:31:58,736 --> 01:31:59,208 جی ہاں؟ 1793 01:31:59,208 --> 01:32:00,458 >> سامعین: [اشراوی]؟ 1794 01:32:00,458 --> 01:32:03,456 1795 01:32:03,456 --> 01:32:05,830 >> روب: ایک لامحدود لوپ کے اندر تو. 1796 01:32:05,830 --> 01:32:08,770 کی طرح، یہ ایک پنراورتی لامحدود کی طرح ہے لوپ اور ہم ایک دوسرے کے حاصل 1797 01:32:08,770 --> 01:32:09,770 اسٹیک ہر وقت کی حد. 1798 01:32:09,770 --> 01:32:13,540 لیکن صرف ایک باقاعدہ کے اندر لامحدود one-- جبکہ 1799 01:32:13,540 --> 01:32:16,390 ٹھیک ہے، یہاں تک کہ نہیں پرنٹ f-- 1800 01:32:16,390 --> 01:32:17,040 کچھ کرنا. 1801 01:32:17,040 --> 01:32:18,390 جو کچھ بھی. 1802 01:32:18,390 --> 01:32:20,610 >> ہم ہو رہی کرنے کے لئے نہیں جا رہے ہیں دوسرے اسٹیک فریم. 1803 01:32:20,610 --> 01:32:22,530 ہم صرف looping کے رکھنے کے لئے جا رہے ہیں اس ایک ہدایات پر. 1804 01:32:22,530 --> 01:32:23,920 اسٹیک نہیں بڑھ رہا ہے. 1805 01:32:23,920 --> 01:32:27,290 یہ ہر پنراورتی کہ حقیقت ہے کال ہمیں ایک اسٹیک فریم دے رہا ہے. 1806 01:32:27,290 --> 01:32:31,231 ہم ایک اسٹیک اتپرواہ یہی وجہ ہے کہ. 1807 01:32:31,231 --> 01:32:31,728 جی ہاں؟ 1808 01:32:31,728 --> 01:32:38,189 >> سامعین: تو اگر آپ کو حاصل کرنے کے لئے کہا جبکہ لوپ اور پھر [اشراوی]؟ 1809 01:32:38,189 --> 01:32:42,000 >> روب: تو دیر لوپ کے اندر تو ایک printf تھا، اگر آپ اب بھی کریں گے 1810 01:32:42,000 --> 01:32:42,790 سگ نہیں غلطی. 1811 01:32:42,790 --> 01:32:46,090 میں صرف چیزوں کو الجھانے کے لئے نہیں کرنا چاہتا تھا. 1812 01:32:46,090 --> 01:32:46,610 یہ لوپ گا. 1813 01:32:46,610 --> 01:32:48,225 آپ کو ایک سنگل اسٹیک ملے گا printf کے لئے فریم. 1814 01:32:48,225 --> 01:32:49,580 >> پھر printf واپس آ جائیں گے. 1815 01:32:49,580 --> 01:32:50,280 پھر آپ دوبارہ لوپ تھا. 1816 01:32:50,280 --> 01:32:51,460 آپ کو ایک سنگل اسٹیک ملے گا printf کے لئے فریم. 1817 01:32:51,460 --> 01:32:52,850 اس کو واپس کریں گے. 1818 01:32:52,850 --> 01:32:54,060 سنگل اسٹیک فریم. 1819 01:32:54,060 --> 01:33:00,215 تو آپ کو یہ لامحدود نہیں مل رہے اسٹیک فریم بڑھ. 1820 01:33:00,215 --> 01:33:03,185 >> سامعین: [اشراوی]؟ 1821 01:33:03,185 --> 01:33:04,040 >> روب: جی ہاں. 1822 01:33:04,040 --> 01:33:09,360 تو یہ اسٹیک اتپرواہ ہوتا ان میں سے کوئی بھی وجہ 1823 01:33:09,360 --> 01:33:11,600 FOO کو کالز واپس آ رہے ہیں. 1824 01:33:11,600 --> 01:33:15,250 ہم واپس، تو ہم کریں گے تو اسٹیک فریم کو کھونے شروع. 1825 01:33:15,250 --> 01:33:17,870 اور پھر ہم اتپرواہ ڈھیر لگانا نہیں کریں گے. 1826 01:33:17,870 --> 01:33:20,070 آپ کو ایک بنیاد کیس کی ضرورت ہے اور اس وجہ سے ہے ذاتی افعال کے لئے. 1827 01:33:20,070 --> 01:33:22,992 1828 01:33:22,992 --> 01:33:23,479 جی ہاں؟ 1829 01:33:23,479 --> 01:33:27,375 >> سامعین: ممکنہ سائز اور ہے ڈھیر کے لئے ایک ہی کے لئے اسٹیک 1830 01:33:27,375 --> 01:33:29,880 تمام پروگراموں؟ 1831 01:33:29,880 --> 01:33:31,910 >> روب: تقریبا. 1832 01:33:31,910 --> 01:33:35,090 اسٹیک کے ممکنہ سائز اور تمام پروگراموں کے لئے ایک ہی ڈھیر؟ 1833 01:33:35,090 --> 01:33:37,180 تقریبا. 1834 01:33:37,180 --> 01:33:40,080 کچھ randomization کرنے کے لئے ہے جہاں اسٹیک شروع ہوتا ہے اور 1835 01:33:40,080 --> 01:33:42,400 جہاں ڈھیر شروع ہوتا ہے. 1836 01:33:42,400 --> 01:33:45,870 آپ کی ایک پوری بہت ہے ہو تو عالمی متغیر اور چیزیں، آپ کو ہو سکتا ہے 1837 01:33:45,870 --> 01:33:49,520 کچھ جگہ سے دور لے آپ کے ڈھیر کے لئے. 1838 01:33:49,520 --> 01:33:54,060 >> ایک 64 بٹ نظام پر، آپ کو عملی طور لامحدود میموری ہے. 1839 01:33:54,060 --> 01:33:55,820 صرف اتنا نہیں ہے. 1840 01:33:55,820 --> 01:33:59,250 32 بٹس اور 64 بٹس، کے درمیان ایک اہم فرق ہے. 1841 01:33:59,250 --> 01:34:02,350 >> آپ کو ایک پوری بہت حاصل کرنے کے لئے جا رہے ہیں ایک 64 بٹ پر اسٹیک، اور ڈھیر جگہ 1842 01:34:02,350 --> 01:34:05,810 نظام صرف زیادہ ہے کیونکہ وہ استعمال کر سکتے ہیں کہ خطاب. 1843 01:34:05,810 --> 01:34:09,360 لیکن ایک فرد کے نظام پر، یہ اسٹیک کے تقریبا ایک ہی رقم ہو 1844 01:34:09,360 --> 01:34:10,785 اور ڈھیر جگہ. 1845 01:34:10,785 --> 01:34:13,635 1846 01:34:13,635 --> 01:34:15,530 ٹھیک ہے. 1847 01:34:15,530 --> 01:34:18,220 >> تو آخری بات تالیف ہے. 1848 01:34:18,220 --> 01:34:19,810 تو آپ اس عمل کو پتہ ہونا چاہیئے. 1849 01:34:19,810 --> 01:34:22,240 چار بڑے اقدامات ہیں. 1850 01:34:22,240 --> 01:34:24,400 تو سب سے پہلے کرنا چاہئے یاد کرنے کے لئے آسان ہو جائے. 1851 01:34:24,400 --> 01:34:25,085 پری پروسیسنگ. 1852 01:34:25,085 --> 01:34:28,390 اس میں پہلے سے سابقہ ​​ہے. 1853 01:34:28,390 --> 01:34:32,080 تو یہ سب کچھ سے پہلے آتا ہے. 1854 01:34:32,080 --> 01:34:34,000 >> یاد کرنے کی بات یہ ہے کہ ہیش ہے. 1855 01:34:34,000 --> 01:34:37,250 تو ہیش کی وضاحت کرتا ہے اور ہیش شامل ان سب میں. 1856 01:34:37,250 --> 01:34:39,560 ان تمام پری پروسیسر ہیں ہدایات. 1857 01:34:39,560 --> 01:34:42,030 یہ چیزیں ہیں پری پروسیسر کا خیال رکھتا ہے. 1858 01:34:42,030 --> 01:34:43,680 >> تو ایک پری پروسیسر کیا کرتا ہے؟ 1859 01:34:43,680 --> 01:34:44,850 یہ واقعی ایک گونگا بات ہے. 1860 01:34:44,850 --> 01:34:49,380 اس کے قابل ہے یہ سب کے سب کاپی، اور کٹ، اور پیسٹ آپریشن. 1861 01:34:49,380 --> 01:34:51,790 >> تو ہیش سٹینڈرڈ I0 ڈاٹ ایچ بھی شامل ہے. 1862 01:34:51,790 --> 01:34:52,990 کر یہ کیا ہے؟ 1863 01:34:52,990 --> 01:34:56,610 یہ معیاری I0 ڈاٹ ایچ پکڑ ہے فائل اور سب سے اوپر میں چسپاں 1864 01:34:56,610 --> 01:34:58,960 جہاں کہیں بھی ہیش شامل کہنا ہے کہ سٹینڈرڈ I0 ڈاٹ ایچ. 1865 01:34:58,960 --> 01:35:02,480 >> اور کسی بھی ہیش ہم ہے کہ کی وضاحت دیکھا، کیا کر رہا ہے؟ 1866 01:35:02,480 --> 01:35:06,730 اس ہیش قدر ہے کہ کاپی اور کے طور پر چسپاں کی جاتی ہے وضاحت کی ہے کہ 1867 01:35:06,730 --> 01:35:08,500 جہاں بھی آپ کی قیمت کا استعمال کرتے ہوئے کر رہے ہیں. 1868 01:35:08,500 --> 01:35:13,400 تو پریپروسیسر صرف واقعی کرتا ہے سادہ متن کی بنیاد پر آپریشن. 1869 01:35:13,400 --> 01:35:15,870 یہ ہوشیار کچھ نہیں کرتا. 1870 01:35:15,870 --> 01:35:18,920 تو سب کچھ ہے زیادہ پیچیدہ. 1871 01:35:18,920 --> 01:35:22,970 >> تو اب ہے کہ پریپروسیسر ہے کیا، ہم اصل میں مرتب. 1872 01:35:22,970 --> 01:35:24,320 تو انتخاب کیا مطلب ہے؟ 1873 01:35:24,320 --> 01:35:27,310 اب ہم C کوڈ سے جا رہے ہیں اسمبلی کوڈ. 1874 01:35:27,310 --> 01:35:27,570 جی ہاں؟ 1875 01:35:27,570 --> 01:35:28,820 >> سامعین: [اشراوی]؟ 1876 01:35:28,820 --> 01:35:32,390 1877 01:35:32,390 --> 01:35:34,220 >> روب: جی ہاں، ہم اس کو پکڑ لیا. 1878 01:35:34,220 --> 01:35:36,880 1879 01:35:36,880 --> 01:35:38,660 تو انتخاب. 1880 01:35:38,660 --> 01:35:40,310 ہم C سے اسمبلی میں جا رہے ہیں. 1881 01:35:40,310 --> 01:35:42,470 تو یہ ایک اصل زبان تبدیل ہے. 1882 01:35:42,470 --> 01:35:45,240 خود مرتب سے جانے کا مطلب ہے کہ کرنے کے لئے ایک اعلی سطح کی زبان 1883 01:35:45,240 --> 01:35:47,340 ایک کم سطح کی زبان. 1884 01:35:47,340 --> 01:35:50,720 >> اور C ایک اعلی سطح کی زبان ہے اسمبلی کے مقابلے میں. 1885 01:35:50,720 --> 01:35:52,320 اسمبلی کیا ہے؟ 1886 01:35:52,320 --> 01:35:56,440 ہیں کہ اس کی ہدایات، خوبصورت زیادہ سے زیادہ، آپ کی CPU کے لئے بنایا. 1887 01:35:56,440 --> 01:35:59,130 لیکن آپ کے کمپیوٹر اب بھی کرتا ہے اسمبلی کی سمجھ میں نہیں. 1888 01:35:59,130 --> 01:36:01,570 یہ صرف ہیں اور zeros سمجھتا. 1889 01:36:01,570 --> 01:36:06,160 تو اگلے قدم، جمع ہے جس ان ہدایات سے ہمیں لاتا ہے کہ 1890 01:36:06,160 --> 01:36:08,760 اپنے CPU سمجھتا ہے اور اصل کرنے کے لئے، ان کا ترجمہ 1891 01:36:08,760 --> 01:36:10,820 ہیں اور zeros. 1892 01:36:10,820 --> 01:36:13,570 >> بائنری اسمبلی C تو. 1893 01:36:13,570 --> 01:36:15,870 لیکن میں ابھی تک ایک executable کی ضرورت نہیں ہے. 1894 01:36:15,870 --> 01:36:19,550 تو CS50 لائبریری کے بارے میں سوچنا. 1895 01:36:19,550 --> 01:36:23,070 ہم ایک بائنری کے ساتھ آپ کی فراہم کردہ GetString کی ہے جس میں یہ CS50 لائبریری، 1896 01:36:23,070 --> 01:36:24,400 اور GetInt اور تمام ہے کہ. 1897 01:36:24,400 --> 01:36:25,700 >> لیکن CS50 لائبریری 1898 01:36:25,700 --> 01:36:27,650 میں اور خود کی کارکردگی نہیں ہے. 1899 01:36:27,650 --> 01:36:29,570 یہ ایک اہم تقریب نہیں ہے. 1900 01:36:29,570 --> 01:36:32,230 یہ بائنری کے ایک گروپ ہے آپ استعمال کر سکتے ہیں. 1901 01:36:32,230 --> 01:36:41,730 تو منسلک ہم سب کو ایک ساتھ لانے کے لئے کس طرح ہے ان مختلف بائنری فائلوں کے 1902 01:36:41,730 --> 01:36:43,110 ایک حقیقی کارکردگی میں. 1903 01:36:43,110 --> 01:36:45,900 آپ ٹائپ کر سکتے ہیں کہ ایک نقطہ ایک نقطہ سے باہر سلیش. 1904 01:36:45,900 --> 01:36:51,660 >> تو اس فائل کی طرح ہے کہ آپ کو ، لکھا ہے - جو کچھ بھی آپ کے پروگرام is-- 1905 01:36:51,660 --> 01:36:53,620 Ceaser کی ڈاٹ سی. 1906 01:36:53,620 --> 01:36:55,100 لیکن اب یہ مرتب کیا گیا ہے ثنائی کے نیچے. 1907 01:36:55,100 --> 01:36:56,480 تو Ceaser کی ڈاٹ اے. 1908 01:36:56,480 --> 01:36:59,620 اور یہ ہماری CS50 ثنائی لائبریریوں ہے. 1909 01:36:59,620 --> 01:37:02,284 اور وہ مل کر کیا جا رہا ہے کر رہے ہیں ایک executable میں. 1910 01:37:02,284 --> 01:37:02,758 جی ہاں؟ 1911 01:37:02,758 --> 01:37:04,008 >> سامعین: [اشراوی]؟ 1912 01:37:04,008 --> 01:37:08,800 1913 01:37:08,800 --> 01:37:12,710 >> روب: تو سب سے پہلے شامل،، یاد شامل اصل میں ایک ہے ہیش 1914 01:37:12,710 --> 01:37:13,810 پری پروسیسر قدم. 1915 01:37:13,810 --> 01:37:14,750 لیکن یہ الگ ہے. 1916 01:37:14,750 --> 01:37:20,730 آپ کو کسی بھی کام کرتا ہے کا استعمال کرتے ہوئے کر رہے ہیں کہ تو آپ ایک فائل سے باہر ہیں، 1917 01:37:20,730 --> 01:37:26,100 نہیں، تم کچھ بھی منسلک کرنے کے لئے کی ضرورت نہیں ہے آپ کو سب کچھ ہے کے بعد سے. 1918 01:37:26,100 --> 01:37:30,310 >> کہ نے کہا کہ، printf میں منسلک کیا جا رہا ہے. 1919 01:37:30,310 --> 01:37:32,820 تم نے کبھی printf استعمال کرتے ہیں تو، کہ کچھ ہے کہ میں منسلک کرنے کی ضرورت ہے 1920 01:37:32,820 --> 01:37:35,740 آپ لکھتے ہیں کہ نہیں تھا کیونکہ. 1921 01:37:35,740 --> 01:37:39,530 اور، حقیقت میں، printf کے خود کار طریقے سے ہے میں منسلک. 1922 01:37:39,530 --> 01:37:42,760 تم جانتے ہو کس طرح کمانڈ لائن پر یا جب آپ یہ کر دیکھیں، ٹائپ 1923 01:37:42,760 --> 01:37:46,690 لنک ہے جس میں ڈیش L CS50، CS50 لائبریری میں؟ 1924 01:37:46,690 --> 01:37:49,070 اس طرح printf کا، اور سامان، جا رہا ہے خود کار طریقے سے منسلک کیا جائے گا. 1925 01:37:49,070 --> 01:37:51,730 1926 01:37:51,730 --> 01:37:53,930 کسی بھی چیز پر کوئی سوال؟ 1927 01:37:53,930 --> 01:37:56,280 >> سامعین: [اشراوی]؟ 1928 01:37:56,280 --> 01:37:58,300 >> روب: ربط؟ 1929 01:37:58,300 --> 01:38:03,450 ہم کی ایک پوری چڑھانے ہے مختلف بائنری فائلوں. 1930 01:38:03,450 --> 01:38:06,410 یہ وہیت مثال ہے ہم استعمال کرتے ہیں کہ CS50 لائبریری ہے. 1931 01:38:06,410 --> 01:38:09,960 ہم مرتب کیا ہے اور آپ کو دیا ہے یہ CS50 لائبریری کے لئے ثنائی. 1932 01:38:09,960 --> 01:38:12,410 >> آپ GetString استعمال کرنا چاہتے ہیں آپ کے پروگرام میں. 1933 01:38:12,410 --> 01:38:14,750 تو تم جاؤ اور GetString استعمال. 1934 01:38:14,750 --> 01:38:19,700 لیکن میرے بائنری کوڈ کے بغیر GetString کے، آپ اپنے کوڈ کو مرتب جب 1935 01:38:19,700 --> 01:38:23,140 نیچے، آپ اصل میں چلانے کے لئے نہیں کر سکتے ہیں پروگرام GetString کے تار ہے 1936 01:38:23,140 --> 01:38:25,080 ابھی تک مکمل وضاحت نہیں. 1937 01:38:25,080 --> 01:38:29,220 >> آپ میرے بائنری میں منسلک جب یہ صرف ہے کہ تمام، کہ اب GetString کے پر مشتمل ہے 1938 01:38:29,220 --> 01:38:31,130 ٹھیک ہے، میں اصل میں کر سکتے ہیں GetString کے پھانسی. 1939 01:38:31,130 --> 01:38:32,330 میری فائل مکمل ہے. 1940 01:38:32,330 --> 01:38:34,208 اور میں اس کو چلا سکتے ہیں. 1941 01:38:34,208 --> 01:38:34,697 جی ہاں؟ 1942 01:38:34,697 --> 01:38:37,631 >> سامعین: تبدیل منسلک ہے بائنری کارکردگی کرنے کے لئے؟ 1943 01:38:37,631 --> 01:38:42,032 آپ کو دوسرے کی ضرورت نہیں ہے یہاں تک کہ اگر لائبریریوں، یہ اب بھی نہیں ہو گا 1944 01:38:42,032 --> 01:38:44,477 ترجمہ کرنے کے لئے ضروری [اشراوی]؟ 1945 01:38:44,477 --> 01:38:48,640 >> روب: تو ایک executable بائنری میں اب بھی ہے. 1946 01:38:48,640 --> 01:38:51,750 یہ صرف ایک پورے امتزاج ہے binaries کے گروپ. 1947 01:38:51,750 --> 01:38:55,124 1948 01:38:55,124 --> 01:38:56,591 >> سامعین: آپ کا بہت بہت شکریہ. 1949 01:38:56,591 --> 01:38:58,560 >> روب: کوئی مسئلہ نہیں ہے. 1950 01:38:58,560 --> 01:38:59,540 کوئی سوال؟ 1951 01:38:59,540 --> 01:39:02,001 دوسری صورت میں، ہم سب کو سیٹ ہو. 1952 01:39:02,001 --> 01:39:02,690 ٹھیک ہے. 1953 01:39:02,690 --> 01:39:02,990 شکریہ. 1954 01:39:02,990 --> 01:39:03,590 >> [تالیاں] 1955 01:39:03,590 --> 01:39:04,490 >> سامعین: آپ کا شکریہ. 1956 01:39:04,490 --> 01:39:05,740 >> روب: جی ہاں. 1957 01:39:05,740 --> 01:39:06,582