1 00:00:00,000 --> 00:00:06,180 2 00:00:06,180 --> 00:00:07,820 >> JASON HIRSCHHORN: خوش آمدید A5 کرنے کے لئے، سب. 3 00:00:07,820 --> 00:00:11,270 ہم، ہم سے آگے ایک دلچسپ ہفتے ہے بہت سے نئے ہیں زیادہ تر کی وجہ سے 4 00:00:11,270 --> 00:00:12,350 اس کمرے میں کا سامنا ہے. 5 00:00:12,350 --> 00:00:12,920 یہ بہت اچھا ہے. 6 00:00:12,920 --> 00:00:15,740 آپ کی ایک بہت حادثے کی طرف سے یہاں ہیں، جس میں بھی بہتر ہے. 7 00:00:15,740 --> 00:00:18,220 تو امید ہے کہ آپ ہمارے ساتھ رہیں گے. 8 00:00:18,220 --> 00:00:20,220 >> اس ہفتے ہم نے خرچ کرنے کے لئے جا رہے ہیں سیکشن کے بلک 9 00:00:20,220 --> 00:00:21,870 کوئز کے لئے تیاری. 10 00:00:21,870 --> 00:00:26,580 ہمارے ایجنڈے کے مطابق تو، ہم بات کرنے جا رہے ہیں کلاس کے لئے وسائل کے بارے میں تھوڑا سا، 11 00:00:26,580 --> 00:00:30,350 لیکن یہ بھی کوئز کے لئے، اور پھر، دوبارہ، کلاس سے بات چیت کا بڑا حصہ خرچ 12 00:00:30,350 --> 00:00:31,390 سوالات کے بارے میں. 13 00:00:31,390 --> 00:00:33,900 ہم جواب دینے کے کیا کر رہے ہیں ایک بار جب آپ سوالات، یا اگر آپ کے سوالات 14 00:00:33,900 --> 00:00:39,010 قدرتی طور پر میں کچھ کوڈنگ ہمیں قیادت midterms سے نمونے مسائل ہیں، 15 00:00:39,010 --> 00:00:43,180 ہم سیکشن میں لائیو کوڈ گے کہ ماضی ایک دوسرے کے ساتھ بھی کچھ دیگر لانے کہ 16 00:00:43,180 --> 00:00:45,420 احاطہ کرنے کے لئے اچھی موضوعات. 17 00:00:45,420 --> 00:00:48,280 >> تو سب سے پہلے، ہم نے کے لئے کے ذریعے چلا گیا ہے کے طور پر آپ کو یاد دلانے کے لئے ہفتے کے گزشتہ دو 18 00:00:48,280 --> 00:00:51,700 لوگ، وسائل کی ایک ٹن کے ہیں اس کورس کے لئے دستیاب. 19 00:00:51,700 --> 00:00:55,020 ان میں سے کئی ناقابل یقین حد تک مددگار ثابت ہو گا آپ کو آپ جاری رکھیں 20 00:00:55,020 --> 00:00:57,280 ، کوئز 0 کے لئے مطالعہ کی وجہ سے یہ منگل کی دوپہر ہے. 21 00:00:57,280 --> 00:00:59,630 تو آپ سب کیا گیا ہے تھوڑا سا کے لئے تعلیم حاصل. 22 00:00:59,630 --> 00:01:02,640 >> لیکچر نوٹوں اور ذریعہ ہیں کوڈ ہے کہ آپ کو کرنا چاہئے 23 00:01:02,640 --> 00:01:04,050 یقینی طور پر چیک کرنے کے لیے. 24 00:01:04,050 --> 00:01:05,019 شارٹس دیکھو. 25 00:01:05,019 --> 00:01:07,470 study.cs50.net چیک کریں. 26 00:01:07,470 --> 00:01:11,770 اور پھر، ایک بڑی تعداد، ذیل میں درج دیگر وسائل کی. 27 00:01:11,770 --> 00:01:14,020 >> ایک بار پھر، کوئز 0 کل ہے 1 بجے. 28 00:01:14,020 --> 00:01:18,230 آپ نے پہلے ہی ایسا نہیں ہے تو، چیک پر کے بارے میں کوئز 0 دستاویز باہر 29 00:01:18,230 --> 00:01:21,370 اعداد و شمار کورس ہوم پیج آپ کوئز لے جا رہے ہیں جہاں. 30 00:01:21,370 --> 00:01:25,770 کوئز 1:10 پر شروع ہوتا ہے اور 70 منٹ کے بعد ختم ہو جاتی ہے. 31 00:01:25,770 --> 00:01:29,610 آپ کو 1:10 کے بعد ظاہر تو، تم ہو کہ بہت سے کم منٹ حاصل کرنے کے لئے جا 32 00:01:29,610 --> 00:01:30,940 70 کوئز کے مقابلے میں. 33 00:01:30,940 --> 00:01:33,570 تو اگر آپ وقت پر وہاں ہو اس بات کا یقین. 34 00:01:33,570 --> 00:01:38,690 آپ کو ایک توسیع کے طالب علم ہیں یا ہے تو کسی دوسرے کی جانچ کے تحفظات، اس 35 00:01:38,690 --> 00:01:40,400 1 بجے کل میں نہیں ہو سکتا. 36 00:01:40,400 --> 00:01:43,540 لیکن پھر، کے بارے میں کوئز 0 چیک یقین ہے کہ آپ جب جانتے ہیں بنانے کے لئے کی تشہیر 37 00:01:43,540 --> 00:01:44,760 آپ کوئز لے جا رہے ہیں. 38 00:01:44,760 --> 00:01:46,440 میں یہاں 75 منٹ لکھا. 39 00:01:46,440 --> 00:01:48,580 مجھے لگتا ہے کہ 70، صحیح نہیں ہے. 40 00:01:48,580 --> 00:01:53,420 >> یہ ایک ہفتے 0 سے تمام مواد کا احاطہ کرتا ہے بدھ کو گزشتہ ہفتے کی تقریر. 41 00:01:53,420 --> 00:01:59,350 اور پھر، اس کوئز کے لئے، کہ فی دستاویز، آپ کو ایک دو رخا ہو جاؤ اور 8 42 00:01:59,350 --> 00:02:03,770 آپ کو ملتا ہے کہ کاغذ کے 11 شیٹ کی طرف سے 1/2 کوئز کے دوران نوٹ کے طور پر استعمال کرنے کے لئے. 43 00:02:03,770 --> 00:02:08,570 بہت سے لوگ، سب سے زیادہ لوگوں، ہو تو نہیں پتہ چلا ہے کہ سب سے مفید طریقہ 44 00:02:08,570 --> 00:02:11,970 کوئز کے لئے مطالعہ کرنے کے لئے ہے ایک مطالعہ شیٹ، ایک بنانے کے 45 00:02:11,970 --> 00:02:13,730 ان کے اپنے میں سے ایک sider،. 46 00:02:13,730 --> 00:02:17,710 گزشتہ والوں میں نظر آتے ہیں آپ ماضی والوں کو دیکھا ہے. 47 00:02:17,710 --> 00:02:19,960 دیکھنے کے دوست تک پہنچنے کیا وہ ان پر ڈال رہے ہیں. 48 00:02:19,960 --> 00:02:23,610 >> لیکن ہاتھ کے نیچے، آپ کر سکتے ہیں سب سے بہتر طریقہ مطالعہ کے سب کچھ کے ذریعے جانا ہے اور 49 00:02:23,610 --> 00:02:26,530 کیا یا چاہئے whittle اسے نیچے کے اس شیٹ پر تعلق نہیں 50 00:02:26,530 --> 00:02:30,570 کاغذ، کہ صرف ایک بہت ہے کیونکہ آپ کو یقین بنانے کے لئے مفید طریقہ 51 00:02:30,570 --> 00:02:33,620 آپ کو سب کچھ کے ذریعے جا رہے ہیں اور کر رہے ہیں اس کے ساتھ کچھ واقف ہے. 52 00:02:33,620 --> 00:02:36,690 زیادہ تر لوگوں کو، ہم، تلاش، اگرچہ وہ کاغذ کا شیٹ حق بیٹھے ہیں 53 00:02:36,690 --> 00:02:39,840 گئے تمام سوالات پر ان کے لئے اگلا، تبدیل نہیں کرتے اس کے لئے، ایک بار پھر، کہ بہت، کیونکہ 54 00:02:39,840 --> 00:02:43,290 کے بارے میں معلومات کے ذریعے جا کے عمل انہیں یہ جاننے میں مدد ملی ہے. 55 00:02:43,290 --> 00:02:45,370 >> کسی کو کوئی سوال ہے کوئز 0 کے بارے میں؟ 56 00:02:45,370 --> 00:02:50,120 57 00:02:50,120 --> 00:02:51,450 سب ہے - 58 00:02:51,450 --> 00:02:53,230 میں نے ہاتھ کے ایک شو کرنے کے لئے نہیں جا رہا ہوں. 59 00:02:53,230 --> 00:02:53,550 کوئی بات نہیں. 60 00:02:53,550 --> 00:02:54,790 جنہوں نے مجھے کہنے کے لئے جا رہا تھا مطالعہ شروع کر دیا. 61 00:02:54,790 --> 00:02:58,360 لیکن میں آپ کو بنانے کے لئے نہیں کرنا چاہتا سب آپ کے ہاتھوں میں اضافہ نہیں. 62 00:02:58,360 --> 00:03:01,290 میں نے کہا اتنی پسند - جی ہاں، AVI، آگے بڑھو. 63 00:03:01,290 --> 00:03:04,205 >> AVI: کیا ایک مفید بات ہو گی ایک پیجر پر ڈال کرنے کے لئے؟ 64 00:03:04,205 --> 00:03:05,875 >> طالب علم: یہ آپ پر منحصر ہے. 65 00:03:05,875 --> 00:03:08,210 >> JASON HIRSCHHORN: آپ حاصل اپنے فیصلے کا استعمال کرنے کی. 66 00:03:08,210 --> 00:03:13,220 ایک پیجر پر ڈال مفید چیزیں، تم بڑے اے کے بارے میں الجھن رہے ہیں 67 00:03:13,220 --> 00:03:17,510 تلاش کی مختلف اقسام کی رن ٹائم اور قسم، ایک میں ہے کہ ڈال 68 00:03:17,510 --> 00:03:18,760 ہاتھ بانکا چارٹ. 69 00:03:18,760 --> 00:03:22,250 اس طرح، تم پر کہا کہ رہے ہیں کوئز، آپ کوشش کریں اور اعداد و شمار کی ضرورت نہیں ہے 70 00:03:22,250 --> 00:03:23,560 اسے باہر یا رن ٹائم کے ذریعے کی وجہ سے. 71 00:03:23,560 --> 00:03:24,730 تم صرف اس کو کاپی کر سکتے ہیں. 72 00:03:24,730 --> 00:03:28,320 آپ quizzes کی ماضی کی ایک بہت پر نظر ڈالیں تو بار، وقت سوال چل رہا ہے. 73 00:03:28,320 --> 00:03:34,150 تو یہ ایک اچھی کی ایک مثال ہو گی آپ ایک پیجر پر ڈال بات. 74 00:03:34,150 --> 00:03:37,450 >> تم ہو، پہننے کے لئے دوسرے اچھی چیزیں اعلان کے لئے کس طرح کے بارے میں الجھن میں 75 00:03:37,450 --> 00:03:40,570 تقریب یا کیا مختلف حصوں کی تقریب اعلان لکھنا، ہیں 76 00:03:40,570 --> 00:03:43,400 کہ وہاں پر، ایک عام ورژن اور پھر ہو سکتا ہے کہ ایک مثال. 77 00:03:43,400 --> 00:03:47,290 آپ کو اشارہ کے بارے میں الجھن میں ہیں، اشارہ کام ہے کہ کس طرح ایک تصویر 78 00:03:47,290 --> 00:03:48,660 شاید واقعی مددگار. 79 00:03:48,660 --> 00:03:52,440 آپ تکرار، ایک کے بارے میں الجھن ہو وہاں پر پنراورتی تقریب کے نمونے 80 00:03:52,440 --> 00:03:54,980 بھی واقعی مددگار ثابت ہو سکتا ہے. 81 00:03:54,980 --> 00:03:57,290 کہ آپ کو کچھ خیالات دے ہے؟ 82 00:03:57,290 --> 00:04:01,820 >> AVI: آپ کو سمجھنے کی ضرورت کی طرح پورے مرتب عمل، 83 00:04:01,820 --> 00:04:03,220 کس طرح کام کرتا ہے؟ 84 00:04:03,220 --> 00:04:06,620 >> JASON HIRSCHHORN: سب کچھ کہ احاطہ کیا گیا ہے کر سکتے ہیں 85 00:04:06,620 --> 00:04:08,060 کوئز پر نظر. 86 00:04:08,060 --> 00:04:08,930 سوالات - 87 00:04:08,930 --> 00:04:11,300 لیکن پھر، کچھ چیزیں ہو جائے گا دوسروں کے مقابلے میں بھاری بارت. 88 00:04:11,300 --> 00:04:14,330 کچھ چیزیں پھر آئے ہیں اور پھر کلاس میں، میں 89 00:04:14,330 --> 00:04:15,590 لیکچر، اور سیکشن. 90 00:04:15,590 --> 00:04:17,220 دیگر چیزیں نہیں ہیں کہ اکثر آئے. 91 00:04:17,220 --> 00:04:22,900 >> ہم # شامل ہیں اور کے بارے میں بہت بات کی ہے -L کچھ اور کیا ان لوگوں میں مطلب 92 00:04:22,900 --> 00:04:24,390 تالیف کے عمل. 93 00:04:24,390 --> 00:04:29,120 ہم، چپٹنا، GDB کے بارے میں بہت بات کی ہے ہم استعمال کرتے ہیں کہ ان لوگوں کو مختلف جھنڈوں جب 94 00:04:29,120 --> 00:04:33,100 ہم کچھ مرتب، اور کیا make15، مثال کے طور پر، واقعی 95 00:04:33,100 --> 00:04:34,510 کا مطلب ہے اور واقعی کرتا ہے. 96 00:04:34,510 --> 00:04:38,110 ہم کے بارے میں زیادہ بات نہیں کی ہے میں ہر ایک قدم 97 00:04:38,110 --> 00:04:39,240 تالیف کے عمل. 98 00:04:39,240 --> 00:04:40,410 ہم اب بھی اس کے بارے میں بات کی ہے. 99 00:04:40,410 --> 00:04:42,550 تو یہ اب بھی ہے کہ آپ کو کچھ ہے سے واقف ہونا چاہئے. 100 00:04:42,550 --> 00:04:44,610 لیکن پھر، ہم نہیں کر رہے ہیں - 101 00:04:44,610 --> 00:04:49,140 کلاس میں زیادہ کثرت سے آئے کہ چیزوں مزید آنے کے امکانات زیادہ ہوتے ہیں 102 00:04:49,140 --> 00:04:52,495 اکثر اور زیادہ بھاری ہونا گئے تمام سوالات پر بارت. 103 00:04:52,495 --> 00:04:53,280 >> ڈاؤن لوڈ، اتارنا. 104 00:04:53,280 --> 00:04:54,580 کوئز 0 کے بارے میں کوئی سوال؟ 105 00:04:54,580 --> 00:04:57,660 106 00:04:57,660 --> 00:05:00,050 >> ٹھیک ہے، تو میں نے کی فہرست میں ڈال دیا بورڈ پر موضوعات. 107 00:05:00,050 --> 00:05:01,550 میں نصاب کے ذریعے چلا گیا. 108 00:05:01,550 --> 00:05:07,340 میں سے جائزہ لینے کے سیکشن کے ذریعے چلا گیا آنے کے لئے گزشتہ رات اور ان سلائیڈوں 109 00:05:07,340 --> 00:05:13,710 موضوعات کی ایک غیر جامع فہرست کے ساتھ ہم CS50 میں اب تک کا احاطہ کرتا ہے کہ 110 00:05:13,710 --> 00:05:16,800 اور چیزوں کو کہ شاید کوئز پر نظر آتے ہیں. 111 00:05:16,800 --> 00:05:19,900 تو میں ذریعے جانے کے لئے نہیں جا رہا ہوں ان میں سے ہر ایک. 112 00:05:19,900 --> 00:05:22,370 کہ بہت زیادہ لے جائے گا اب ہم سے وقت. 113 00:05:22,370 --> 00:05:26,880 لیکن مجھے امید ہے کہ سیر کرنے کے لئے یہاں اس کو ڈال دیا چیزوں کے طور پر آپ کی میموری کہ مئی 114 00:05:26,880 --> 00:05:28,420 یا آپ کے ساتھ کے طور پر واقف نہیں ہو سکتا. 115 00:05:28,420 --> 00:05:32,850 >> اور میں نے بلک کے خرچ کرنے کے لئے پسند کروں گا کے بارے میں اپنے سوالات کے جواب دینے کے حصے 116 00:05:32,850 --> 00:05:35,130 ان موضوعات کے، موضوعات کہ یہاں شامل نہیں ہیں. 117 00:05:35,130 --> 00:05:36,130 ہم چھدم کوڈ لکھ سکتے ہیں. 118 00:05:36,130 --> 00:05:40,010 ہم اصلی کوڈ لکھ سکتے ہیں اس بات کا یقین کرنے کے لئے آپ ہے - 119 00:05:40,010 --> 00:05:44,280 میں نے آپ کے سوال کا جواب دینے اور مدد کر سکتے ہیں سب بنیادی طور پر سمجھنے کی ایک 120 00:05:44,280 --> 00:05:48,330 ان موضوعات کے بہت سے آپ کو محسوس ہو گا تو جا میں تیار اور آرام دہ اور پرسکون 121 00:05:48,330 --> 00:05:50,150 کوئز کل. 122 00:05:50,150 --> 00:05:52,300 تو ختم فہرست پڑھ. 123 00:05:52,300 --> 00:05:54,780 تم امید کے حصے میں آئے ہیں کچھ سوالات کے ساتھ کے طور پر اچھی طرح سے. 124 00:05:54,780 --> 00:05:58,480 جب آپ تیار ہو، اپنے ہاتھ اٹھانے اور ہم نے شروع کر دیا جائے گا. 125 00:05:58,480 --> 00:06:01,590 126 00:06:01,590 --> 00:06:05,200 >> ذہن میں رکھیں، سوالات آپ کے پاس، کوئی بیوکوف سوالات ہیں. 127 00:06:05,200 --> 00:06:06,250 ہم نے بہت سنا ہے کہ. 128 00:06:06,250 --> 00:06:09,490 اور آپ کے پاس سوالات، میں چاہتا ہوں ، بہت سے دوسرے لوگوں دونوں شرط لگا سکتا ہوں 129 00:06:09,490 --> 00:06:11,740 یہاں بیٹھ کر دیکھ آن لائن کے ساتھ ساتھ ہے. 130 00:06:11,740 --> 00:06:13,770 تو آپ کو صرف لوگوں کی مدد کر سکتے ہیں سوالات پوچھ کر. 131 00:06:13,770 --> 00:06:15,070 مارکس. 132 00:06:15,070 --> 00:06:18,040 >> مارکس: اسٹیک کے درمیان ڈھیر، پہلے سے مختص نہیں ہے 133 00:06:18,040 --> 00:06:22,880 کے طور پر بیان ہے کہ میموری کی شرح اس اسٹیک کے لئے یا ڈھیر کے لئے ہے؟ 134 00:06:22,880 --> 00:06:25,010 یا کس طرح وہ کام، کرتا ہے؟ 135 00:06:25,010 --> 00:06:26,230 >> JASON HIRSCHHORN: بڑا سوال. 136 00:06:26,230 --> 00:06:28,640 میں نے تھوڑا سا ٹریس واپس جا رہا ہوں. 137 00:06:28,640 --> 00:06:30,910 سب ہے - 138 00:06:30,910 --> 00:06:31,660 یہاں براہ مہربانی ایماندار. 139 00:06:31,660 --> 00:06:34,130 میں بلند کرنے کے لئے تم سے پوچھ رہا ہوں آپ اپنے ساتھیوں کے سامنے ہاتھ. 140 00:06:34,130 --> 00:06:38,510 لیکن محسوس کرتے ہیں وہ لوگ ہیں جو اسٹیک اور ڈھیر کے ساتھ بے چینی 141 00:06:38,510 --> 00:06:42,980 اور اس پر جانے کے لئے چاہتے ہیں اور ان کا کیا مطلب؟ 142 00:06:42,980 --> 00:06:43,880 آپ کے ہاتھ تو بلند - 143 00:06:43,880 --> 00:06:44,420 ٹھیک ہے. 144 00:06:44,420 --> 00:06:45,120 آپ کا شکریہ. 145 00:06:45,120 --> 00:06:48,420 تو ہم نے اسٹیک پر جانے کے لئے جا رہے ہیں اور کر رہے ہیں ڈھیر واقعی بہت تیزی سے اور پھر 146 00:06:48,420 --> 00:06:50,370 آپ کے سوال کا جواب دینے میں منتقل. 147 00:06:50,370 --> 00:06:58,250 >> ہم کی نمائندگی کے لئے ایک باکس باہر اپنی طرف متوجہ تو اگر آپ کے کمپیوٹر پر میموری، کچھ کیا ہیں 148 00:06:58,250 --> 00:07:02,160 اس خانے میں جانا ہے؟ 149 00:07:02,160 --> 00:07:03,630 مین. 150 00:07:03,630 --> 00:07:04,020 ایک اہم تقریب. 151 00:07:04,020 --> 00:07:05,890 جہاں اہم ہے؟ 152 00:07:05,890 --> 00:07:08,090 >> طالب علم: [اشراوی]. 153 00:07:08,090 --> 00:07:09,390 >> JASON HIRSCHHORN: تو ہم کریں گے یہاں اہم ڈال دیا. 154 00:07:09,390 --> 00:07:12,180 155 00:07:12,180 --> 00:07:13,430 اور کیا اس باکس میں جاتا ہے؟ 156 00:07:13,430 --> 00:07:16,000 157 00:07:16,000 --> 00:07:18,140 >> طالب علم: آپ کو فون ہے کہ کام کرتا ہے. 158 00:07:18,140 --> 00:07:19,020 >> JASON HIRSCHHORN: افعال ہم کہتے ہیں کہ. 159 00:07:19,020 --> 00:07:20,440 اور جہاں وہ جانا ہے؟ 160 00:07:20,440 --> 00:07:21,300 >> طالب علم: اسٹیک میں. 161 00:07:21,300 --> 00:07:22,380 >> JASON HIRSCHHORN: وہ اسٹیک میں جانا. 162 00:07:22,380 --> 00:07:27,350 تو ہم اس کو فون کرنے جا رہے ہیں یہاں بات اسٹیک. 163 00:07:27,350 --> 00:07:31,880 اور سب سے اوپر، ہم ڈھیر ہے. 164 00:07:31,880 --> 00:07:35,450 تو میموری صرف اس طرح ایک باکس نہیں ہے. 165 00:07:35,450 --> 00:07:37,330 لیکن یہ اصل میں بہت اسی طرح ہے. 166 00:07:37,330 --> 00:07:40,840 اس پر خانوں کی ایک بہت ہو رہا ہے اور اس سے زیادہ، پر منحصر ہے کتنا بڑا آپ 167 00:07:40,840 --> 00:07:43,730 کمپیوٹر ہے یا آپ کے میموری کس طرح بڑی ہے. 168 00:07:43,730 --> 00:07:46,950 >> اقتباس-unquote جو "نیچے" میں اسٹیک ہے. 169 00:07:46,950 --> 00:07:50,880 اور ایک سے زیادہ چیزیں ہیں کہ اسٹیک پر جانے. 170 00:07:50,880 --> 00:07:53,840 اور ان افعال پر منحصر آپ اپنے کوڈ میں ہے. 171 00:07:53,840 --> 00:07:57,780 آپ ہمیشہ میں ایک تقریب ہے آپ کوڈ اہم کہا جاتا ہے، تو ایک ہمیشہ وہاں ہے 172 00:07:57,780 --> 00:08:00,480 یہاں میں سیکشن اہم کے لئے وقف کتابیں رکھی. 173 00:08:00,480 --> 00:08:03,980 >> اسٹیک میں ان قسموں اسٹیک فریم کہا جاتا ہے. 174 00:08:03,980 --> 00:08:09,580 آپ کو ایک تقریب کہتے ہیں، اہم کا کہنا ہے کہ ایک بائنری تلاش تقریب بلاتا ہے، 175 00:08:09,580 --> 00:08:11,075 ہم نے اسٹیک پر ایک فریم ڈال دیا. 176 00:08:11,075 --> 00:08:13,830 177 00:08:13,830 --> 00:08:17,320 مزید خاص طور پر، ہم جا رہے ہیں پر میموری کا ایک حصہ عطیہ ہماری 178 00:08:17,320 --> 00:08:22,960 بائنری تلاش کے مقامی سٹور کرنے کے لئے کمپیوٹر متغیر اور بائنری چلانے کے لئے 179 00:08:22,960 --> 00:08:24,150 تلاش کے کوڈ کے. 180 00:08:24,150 --> 00:08:26,810 >> تو ہم بائنری تلاش کو کال. 181 00:08:26,810 --> 00:08:30,440 182 00:08:30,440 --> 00:08:33,340 میموری کے اس حصہ میں، ہم جا رہے ہیں اپنے مقامی متغیرات سٹور کرنے کے لئے. 183 00:08:33,340 --> 00:08:35,270 ہم اس پر printf کالز سٹور کرنے کے لئے جا رہے ہیں. 184 00:08:35,270 --> 00:08:38,159 جو بھی ہوتا ہے، اس تقریب ہے وہیں ذخیرہ کیا جا رہا. 185 00:08:38,159 --> 00:08:40,350 بائنری تلاش کو پھانسی کی جا رہی ہے. 186 00:08:40,350 --> 00:08:42,210 یہ پھانسی مکمل کرنے کے لئے کی جا رہی ہے. 187 00:08:42,210 --> 00:08:47,450 C میں لفظ کیا ہے کہ اجاگر ایک تقریب ہونا چاہئے کہ 188 00:08:47,450 --> 00:08:49,306 اس پر عملدرآمد کو مکمل؟ 189 00:08:49,306 --> 00:08:50,040 >> طالب علم: پر واپس جائیں. 190 00:08:50,040 --> 00:08:50,870 >> JASON HIRSCHHORN: واپس. 191 00:08:50,870 --> 00:08:53,230 تو آپ کی واپسی کا بیان جب بھی، تقریب ختم ہو جاتا ہے 192 00:08:53,230 --> 00:08:54,350 یہ ہے کہ مار دیتی ہے جب. 193 00:08:54,350 --> 00:08:56,740 تو بائنری تلاش اس کی واپسی مارا جائے گا. 194 00:08:56,740 --> 00:09:01,360 میموری کا یہ حصہ بنیادی طور پر جائے گا آزاد ہو. 195 00:09:01,360 --> 00:09:03,510 اور اہم واپس عملدرآمد کرنے کے لئے جائیں گے. 196 00:09:03,510 --> 00:09:07,240 ، کال جہاں بھی تھا تو اہم کو روکنے گا بائنری تلاش، کچھ واپس قیمت حاصل، 197 00:09:07,240 --> 00:09:08,700 اور ان پر عملدرآمد جاری ہے. 198 00:09:08,700 --> 00:09:10,840 یہ اسٹیک فریم چلا جائے گا. 199 00:09:10,840 --> 00:09:14,810 >> ہم ایک پنراورتی تقریب، کہتے ہیں جس میں خود پر بلاتا ہے ایک تقریب ہے 200 00:09:14,810 --> 00:09:18,480 اور اس سے زیادہ، ہم حاصل کر سکتے ہیں - ہم کا کہنا ہے کہ تکراری طور بائنری تلاش کیا. 201 00:09:18,480 --> 00:09:21,520 ہم، بائنری تلاش ایک ورژن ہو سکتا ہے بائنری تلاش دو، بائنری تلاش 202 00:09:21,520 --> 00:09:24,090 تین، بائنری تلاش چار، بائنری تلاش پانچ. 203 00:09:24,090 --> 00:09:27,950 اور پھر یہ آخری بائنری تلاش پانچ بنیاد کیس، اور اسٹیک مارا جائے گا 204 00:09:27,950 --> 00:09:31,010 فریم واپس جانے اور بند رکھیں گے ہم نے اہم واپس حاصل کرنے کے لئے جب تک. 205 00:09:31,010 --> 00:09:32,530 ہم تھوڑا سا میں تکرار پر جا سکتے ہیں. 206 00:09:32,530 --> 00:09:35,530 تم لیکن اگر یہ سب، کا کہنا ہے کہ ، ایک وقت میں ایک سے زیادہ کام بلا 207 00:09:35,530 --> 00:09:39,250 ایک سے زیادہ اسٹیک ہو جائے گا اسٹیک پر فریم. 208 00:09:39,250 --> 00:09:42,900 >> ڈھیر، دوسری طرف، اپ یہاں، کے افعال کے لئے نہیں ہے، 209 00:09:42,900 --> 00:09:44,380 مقامی متغیر کے لئے. 210 00:09:44,380 --> 00:09:48,920 یہ متحرک طور پر مختص کے لئے ہے متغیر. 211 00:09:48,920 --> 00:09:57,210 تو یہ ہو سکتا ہے کہ متغیر ہیں بنیادی یا یا تو initialized ہے 212 00:09:57,210 --> 00:09:58,640 کہ اہم کالز کام. 213 00:09:58,640 --> 00:10:00,790 کہیں بھی آپ کے کوڈ میں، وہ initialized ہے کیا جا سکتا ہے. 214 00:10:00,790 --> 00:10:04,360 اور ایک متحرک ابتدا مختص متغیر. 215 00:10:04,360 --> 00:10:06,970 ہم C میں کیا تقریب کا استعمال کرتے ہیں؟ 216 00:10:06,970 --> 00:10:07,600 >> طالب علم: MALLOC. 217 00:10:07,600 --> 00:10:09,240 >> JASON HIRSCHHORN: MALLOC. 218 00:10:09,240 --> 00:10:10,800 آپ malloc کال. 219 00:10:10,800 --> 00:10:12,260 آپ کو میموری کی جگہ حاصل. 220 00:10:12,260 --> 00:10:15,020 اور میموری کے اس کی جگہ ڈھیر پر ہے. 221 00:10:15,020 --> 00:10:18,840 اور میموری کے اس کی جگہ رہتا ہے آپ مفت وہاں فون تک. 222 00:10:18,840 --> 00:10:22,670 >> تو متحرک مختص متغیر میں ڈھیر آپ کے طور پر جب تک کے لئے موجود ہو جائے گا 223 00:10:22,670 --> 00:10:25,250 ان کے وجود کے لئے چاہتے ہیں، اور وہ نہیں کریں گے واضح طور پر آپ کو جب تک چلے جاؤ 224 00:10:25,250 --> 00:10:26,760 دور جانے کے لئے ان سے کہو. 225 00:10:26,760 --> 00:10:29,670 آپ کو ایک تقریب میں ان تشکیل دے سکتے ہیں. 226 00:10:29,670 --> 00:10:31,930 کہ تقریب کا اسٹیک فریم چلا جائے گا. 227 00:10:31,930 --> 00:10:35,490 لیکن اس کے متغیر اب بھی موجود ہو جائے گا ڈھیر میں اسے آزاد کر دیا ہے جب تک، 228 00:10:35,490 --> 00:10:39,650 ممکنہ طور پر کہا جاتا ہے کہ تقریب کی طرف سے بائنری تلاش یا جو کچھ بھی. 229 00:10:39,650 --> 00:10:42,580 >> لہذا ان ڈھیر متغیر وہاں رہنا جب تک کے طور پر آپ چاہتے ہیں کے لئے 230 00:10:42,580 --> 00:10:43,490 ان کے وہاں رہنے کے لئے. 231 00:10:43,490 --> 00:10:46,090 اور وہ یہاں ڈال دیا ہو. 232 00:10:46,090 --> 00:10:47,450 اور پھر اگلے ایک وہاں ڈال دیا جاتا ہے. 233 00:10:47,450 --> 00:10:50,210 وہ میں بھرا ہو رہی رکھنے کے، اور وہ آپ کو مفت فون تک وہاں رہنے کے. 234 00:10:50,210 --> 00:10:52,870 >> اور بنیادی طور پر، ڈھیر اور اسٹیک، ، مارکس کے سوال پر ہو رہی ہے 235 00:10:52,870 --> 00:10:54,500 ایک دوسرے کی طرف بڑھنے. 236 00:10:54,500 --> 00:10:57,730 وہ ایک دوسرے میں چلاتے ہیں اور اگر آپ نے میں تمام میموری کو استعمال کیا آپ 237 00:10:57,730 --> 00:11:01,330 کمپیوٹر، اور آپ کے پروگرام چھوڑ جائے گا آپ کو کسی بھی زیادہ میموری نہیں ہے کیونکہ 238 00:11:01,330 --> 00:11:02,420 استعمال کرنے کے لئے چھوڑ دیا. 239 00:11:02,420 --> 00:11:07,290 ان کے درمیان میں ہیں، ممکنہ طور پر دوسری چیزوں کے. 240 00:11:07,290 --> 00:11:10,980 لیکن اس کورس کے دائرہ کار، آپ کے لئے اس کے بارے میں فکر کرنے کی ضرورت نہیں ہے. 241 00:11:10,980 --> 00:11:12,020 >> تو اس کا جواب تھا آپ کے سوال. 242 00:11:12,020 --> 00:11:13,520 اس کے بارے میں فکر مت کرو. 243 00:11:13,520 --> 00:11:15,550 لیکن اس طویل جواب تھا. 244 00:11:15,550 --> 00:11:17,800 آپ کو جاننے کی ضرورت ہے ڈھیر اور اسٹیک کرے گا - 245 00:11:17,800 --> 00:11:18,900 ایک نیچے سے شروع ہوتی ہے. 246 00:11:18,900 --> 00:11:19,570 اسٹیک کرتا ہے. 247 00:11:19,570 --> 00:11:20,790 ڈھیر کو ہے. 248 00:11:20,790 --> 00:11:21,990 وہ ایک دوسرے کے قریب ہو جائے گا. 249 00:11:21,990 --> 00:11:23,110 >> وہ چھو تو، یہ ایک مسئلہ ہے. 250 00:11:23,110 --> 00:11:24,500 آپ کو میموری سے باہر بھاگ گیا. 251 00:11:24,500 --> 00:11:28,760 بلکہ، جاننے کے علاوہ جہاں وہ، کیا دونوں میں محفوظ کیا جاتا ہے کر رہے ہیں 252 00:11:28,760 --> 00:11:30,512 اسٹیک، اور ڈھیر. 253 00:11:30,512 --> 00:11:31,410 کرٹس. 254 00:11:31,410 --> 00:11:33,570 >> کرٹس: وہ ٹکرانے جب، کہ ایک اسٹیک اتپرواہ ہے؟ 255 00:11:33,570 --> 00:11:35,670 >> JASON HIRSCHHORN: وہ ٹکرانے جب، کہ ایک اسٹیک اتپرواہ نہیں ہے. 256 00:11:35,670 --> 00:11:38,340 اسٹیک اتپرواہ ایک مختلف علاقے میں ہے آپ کرنا چاہتے ہیں تو ہم پر جا سکتے ہیں. 257 00:11:38,340 --> 00:11:40,020 ٹھیک ہے، ہم تھوڑا سا میں واپس آ جائیں گے. 258 00:11:40,020 --> 00:11:42,730 >> طالب علم: کہا جاتا ہے لفظ کیا ہے وہ ایک دوسرے کو مارا جب، 259 00:11:42,730 --> 00:11:44,450 اسٹیک، اور ڈھیر؟ 260 00:11:44,450 --> 00:11:46,640 >> JASON HIRSCHHORN: اب، فکر نہ کرو. 261 00:11:46,640 --> 00:11:47,750 بس جانتے ہیں - 262 00:11:47,750 --> 00:11:50,530 میں اس سوال کا جواب دے گا کلاس کے بعد. 263 00:11:50,530 --> 00:11:52,680 وہ ایک دوسرے میں چلاتے ہیں، آپ باہر بھاگ گیا نہیں ہے میموری کی، کیونکہ 264 00:11:52,680 --> 00:11:53,330 وہاں کی جگہ. 265 00:11:53,330 --> 00:11:55,450 >> طالب علم: معذرت، میں ایک SEG غلطی کیا ہے؟ 266 00:11:55,450 --> 00:11:58,710 >> JASON HIRSCHHORN: ایک طبقہ غلطی کے لئے کہا جا سکتا ہے - 267 00:11:58,710 --> 00:12:02,240 SEG غلطی ہے کہا جاتا ہے کیوں یہ انحصار کرتا ہے. 268 00:12:02,240 --> 00:12:06,260 کبھی کبھی، آپ اسٹیک اتپرواہ، یہ کریں گے SEG غلطی کے طور پر غلطی کا کہنا ہے کہ. 269 00:12:06,260 --> 00:12:08,180 >> طالب علم: کیا محولہ لقب ضبطی کے بارے میں شہوت انگیز null متغیر؟ 270 00:12:08,180 --> 00:12:10,040 کہ ایک SEG غلطی ہے؟ 271 00:12:10,040 --> 00:12:11,480 >> JASON HIRSCHHORN: محولہ لقب ضبطی شہوت انگیز null پوائنٹر - 272 00:12:11,480 --> 00:12:17,850 ٹھیک ہے، تو آپ کو ہے کہ آپ کو ایک پوائنٹر ہے تو شہوت انگیز null برابر مقرر، اشارہ، یاد، 273 00:12:17,850 --> 00:12:20,270 سٹور میموری پتوں ان کی اقدار کے طور پر. 274 00:12:20,270 --> 00:12:23,660 اور شہوت انگیز null پوائنٹر بنیادی طور پر ہے 0 ذخیرہ کرنے، 0 ویں 275 00:12:23,660 --> 00:12:26,670 جو کہ متغیر میں حل. 276 00:12:26,670 --> 00:12:30,010 تو 0X، 0، 0، 0، 0، وغیرہ. 277 00:12:30,010 --> 00:12:35,030 نہیں ہے کہ یاد میں اس 0 ویں ایڈریس ہماری تصویر میں، کہ ہے 278 00:12:35,030 --> 00:12:38,800 کہیں، کہ محفوظ ہے کمپیوٹر کے لئے. 279 00:12:38,800 --> 00:12:40,130 ہم اسے چھو کرنے کی اجازت نہیں کر رہے ہیں. 280 00:12:40,130 --> 00:12:44,680 >> تو آپ کے پروگرام پر عمل ہے جب، اگر کچھ یاد کرنے کے لئے جانے کے لئے کوشش کر رہی ہے 281 00:12:44,680 --> 00:12:48,990 0 ایڈریس، یہ جانتا ہے کہ کہ ایک خالی قدر ہے. 282 00:12:48,990 --> 00:12:50,820 یہ کچھ بھی نہیں ہونا چاہئے جانتا ہے. 283 00:12:50,820 --> 00:12:53,420 تو تم وہاں کچھ کرنے کی کوشش اور استعمال کرتے ہیں تو اور اس طرح وہاں کچھ علاج یا 284 00:12:53,420 --> 00:12:58,355 اس مقام پر جانے کی کوشش کر رہے، تم ہو ایک SEG غلطی یا ایک غلطی حاصل کرنے کے لئے جا رہا. 285 00:12:58,355 --> 00:13:00,520 کہ آپ کے سوال کا جواب ہے؟ 286 00:13:00,520 --> 00:13:03,170 >> اور اب ہم واپس چلے جائیں گے اتپرواہ کتابیں رکھی. 287 00:13:03,170 --> 00:13:09,560 تم لوگوں کو ہے کے طور پر اسٹیک میں چیزوں کو، سے پہلے دیکھا، میں - ایک قریب اپنی طرف متوجہ 288 00:13:09,560 --> 00:13:11,966 ایک اسٹیک فریم کی. 289 00:13:11,966 --> 00:13:15,050 سب دیکھتے ہیں کہ سکتے ہیں؟ 290 00:13:15,050 --> 00:13:16,650 تو ہم اپنے اسٹیک فریم ہے. 291 00:13:16,650 --> 00:13:23,260 ہم نے ایک مقامی طور پر میں ایک صف بچت کر رہے ہیں اس تقریب میں متغیر. 292 00:13:23,260 --> 00:13:29,510 تو ہمارے صف پانچ مقامات کا کہنا ہے کہ. 293 00:13:29,510 --> 00:13:33,230 ان کے تمام پانچ ذخیرہ کیا جائے گا کہ اسٹیک فریم میں. 294 00:13:33,230 --> 00:13:37,540 >> ہم اس سے آگے لکھنا شروع تو اس صف کی حد - 295 00:13:37,540 --> 00:13:43,990 تو ہم میں لکھنا شروع تو، کی ہے کہ 0 کا کہنا ہے کہ. 296 00:13:43,990 --> 00:13:46,800 پانچ اشاریہ جات ہیں ہمارے صف کے. 297 00:13:46,800 --> 00:13:50,980 ہم انڈیکس 5، میں لکھنا شروع جو اگر ہم ایک دیا جب ہم نے کی ضرورت نہیں ہے 298 00:13:50,980 --> 00:13:55,900 5 سائز کے صف، ہم میں لکھنا شروع انڈیکس 6، 7، 8، 9، ہم ایک اسٹیک حاصل کر سکتے ہیں 299 00:13:55,900 --> 00:13:57,960 اتپرواہ غلطی. 300 00:13:57,960 --> 00:14:00,510 >> عام طور پر یہ نہیں ہے - 301 00:14:00,510 --> 00:14:04,910 آپ شاید مصیبت میں مل جائے گا آپ کو ایک کی طرف سے اگر. 302 00:14:04,910 --> 00:14:08,640 لیکن عام طور پر، آپ میں مل جائے گا آپ کو ایک بہت کی طرف سے تو سب سے زیادہ مصیبت 303 00:14:08,640 --> 00:14:12,770 اور آپ اب تک پر آپ لکھتے ہیں کہ جاؤ اس کی واپسی ایڈریس پر 304 00:14:12,770 --> 00:14:16,080 میں واقع ہے جس کی تقریب، اسٹیک فریم کے نیچے. 305 00:14:16,080 --> 00:14:16,520 >> حق، کیونکہ؟ 306 00:14:16,520 --> 00:14:17,670 - تم میں - معذرت. 307 00:14:17,670 --> 00:14:18,550 نہیں "صحیح ہے." 308 00:14:18,550 --> 00:14:20,470 >> اسٹیک فریم میں، آپ کے پاس آپ مقامی متغیر. 309 00:14:20,470 --> 00:14:27,090 اسٹیک کے بہت نیچے دیے گئے فریم واپسی ایڈریس ہے. 310 00:14:27,090 --> 00:14:28,790 اس تقریب کہاں ہے جب یہ ختم ہو جاتا ہے. 311 00:14:28,790 --> 00:14:33,750 اور تم اس کی واپسی ادلیکھت تو پتہ، تو یہ اسٹیک فریم جب، 312 00:14:33,750 --> 00:14:36,680 آپ اسٹیک کے ذریعے جا رہے ہیں جب فریم اور ہر سطر پر عمل، تم ہو 313 00:14:36,680 --> 00:14:40,350 اپنے نئے ایڈریس کو واپس کرنے کے لئے جانے کے لئے جا کہ بجائے اس کے کہ وہاں لکھا ہے 314 00:14:40,350 --> 00:14:40,910 اصل ایک. 315 00:14:40,910 --> 00:14:45,050 اور یہ کہ ہم نے دیکھا کہ کس طرح کچھ سیکورٹی کی خلاف ورزیوں 316 00:14:45,050 --> 00:14:46,780 کمپیوٹر کے ساتھ ہو سکتا ہے. 317 00:14:46,780 --> 00:14:52,760 >> تو جب اسٹیک اتپرواہ، مختصر میں، ہے آپ اسٹیک میں حصہ ادلیکھت 318 00:14:52,760 --> 00:14:55,440 آپ، مقامی استعمال کرنے کی توقع کر رہے ہیں متغیر آپ استعمال کرنا چاہیے، اور کر رہے ہیں 319 00:14:55,440 --> 00:14:58,070 خاص طور پر اگر آپ کے اوپر شروع جیسے اہم چیزیں 320 00:14:58,070 --> 00:14:59,100 ایڈریس واپس. 321 00:14:59,100 --> 00:15:00,090 آپ کو کوئی غلطی مل جائے گا اور یہ ہے جہاں. 322 00:15:00,090 --> 00:15:03,980 یا شاید بھی آپ کو شروع کر سکتے ہیں یہاں تک کہ میں لکھنے - 323 00:15:03,980 --> 00:15:05,370 بائنری تلاش تھی حق اہم اوپر. 324 00:15:05,370 --> 00:15:07,790 آپ، ایک بہت overwrote تو اہم میں لکھ سکتے تھے. 325 00:15:07,790 --> 00:15:10,230 لیکن عام طور پر، آپ سے پہلے ایک غلطی ملتی کمپیوٹر جانتا ہے تو، کیونکہ 326 00:15:10,230 --> 00:15:12,270 آپ کچھ کر رہے ہیں نہیں کرنا چاہئے. 327 00:15:12,270 --> 00:15:12,560 جی ہاں. 328 00:15:12,560 --> 00:15:13,910 >> طالب علم: کیا فرق ہے اسٹیک اتپرواہ کے درمیان 329 00:15:13,910 --> 00:15:16,940 اور ایک بفر اتپرواہ؟ 330 00:15:16,940 --> 00:15:19,420 >> JASON HIRSCHHORN: بفر اتپرواہ ایک سے زیادہ عام قسم کی ہے 331 00:15:19,420 --> 00:15:20,395 میں صرف بیان کیا ہے. 332 00:15:20,395 --> 00:15:22,610 >> طالب علم: تو ایک اسٹیک اتپرواہ ایک ہے ایک بفر اتپرواہ کی مثال. 333 00:15:22,610 --> 00:15:23,420 >> JASON HIRSCHHORN: بالکل. 334 00:15:23,420 --> 00:15:28,700 یہ ہم نے ایک کے طور پر سوچ سکتے ہیں ایک صف ہے بفر، اندر جانے کی چیزوں کے لئے ایک جگہ 335 00:15:28,700 --> 00:15:30,600 یہ ایک اسٹیک بفر اتپرواہ ہے. 336 00:15:30,600 --> 00:15:33,210 ہم ایک ڈھیر بفر اتپرواہ کر سکتے ہیں. 337 00:15:33,210 --> 00:15:36,870 جس میں وہاں اکثر ایک بفر، وہاں تھا تو ایک صف ڈھیر ہے، اور ہم 338 00:15:36,870 --> 00:15:40,600 ان حد overwrote، تو ہم کریں گے ایک ڈھیر بفر اتپرواہ ہے. 339 00:15:40,600 --> 00:15:44,870 >> اور اس کورس کے دائرہ کار سے باہر، وہ تھوڑا سا مختلف پتہ چلا رہے ہیں. 340 00:15:44,870 --> 00:15:48,040 سنکلک خصوصی ہے ہر ایک کا پتہ لگانے کے طریقوں. 341 00:15:48,040 --> 00:15:50,660 لیکن ایک بفر اتپرواہ ایک سے زیادہ عام ہے میں بیان کیا کی قسم، 342 00:15:50,660 --> 00:15:54,090 جس میں ایک اسٹیک بفر اتپرواہ تھا. 343 00:15:54,090 --> 00:15:56,240 کہ آپ کے سوال کا جواب ہے؟ 344 00:15:56,240 --> 00:15:57,910 میٹھی. 345 00:15:57,910 --> 00:16:01,850 >> کسی بھی دیگر سوالات متعلقہ تھے اسٹیک یا ڈھیر کرنے کے لئے؟ 346 00:16:01,850 --> 00:16:04,920 347 00:16:04,920 --> 00:16:05,510 جی ہاں. 348 00:16:05,510 --> 00:16:08,220 >> طالب علم: میں نے آپ کو مفت ڈور ہے کہ وہ ڈھیر میں ہیں کیونکہ 349 00:16:08,220 --> 00:16:09,305 اور آپ میموری لیک نہیں کرنا چاہتا. 350 00:16:09,305 --> 00:16:12,240 لیکن آپ کو عالمی متغیر کو آزاد کرنے کی ضرورت ہے اور اس طرح کی چیزیں؟ 351 00:16:12,240 --> 00:16:14,335 یا وہ خود بخود آزاد کر رہے ہیں؟ 352 00:16:14,335 --> 00:16:15,700 >> JASON HIRSCHHORN: اچھا سوال ہے. 353 00:16:15,700 --> 00:16:22,340 تو cs50.h میں، ہم اس بات کی تخلیق کے لئے آپ کو ایک تار بلایا. 354 00:16:22,340 --> 00:16:23,800 ایک سٹرنگ واقعی کیا ہے؟ 355 00:16:23,800 --> 00:16:24,810 >> طالب علم: چار سٹار. 356 00:16:24,810 --> 00:16:29,180 >> JASON HIRSCHHORN: ایک چار ستارہ، ایک پوائنٹر ایک کردار کے لئے، ایک پوائنٹر 357 00:16:29,180 --> 00:16:30,650 حروف کی ایک سرنی. 358 00:16:30,650 --> 00:16:32,210 اس سٹرنگ ہے کیا ہے. 359 00:16:32,210 --> 00:16:36,050 تو ہم اس کو آزاد کرنے کی ضرورت ہے GetString کے، جو ہم ایک بہت استعمال کیا - 360 00:16:36,050 --> 00:16:38,370 سٹرنگ نام GetString برابر - 361 00:16:38,370 --> 00:16:43,560 وہ ہمارے لئے کچھ میموری mallocs ڈھیر اور اس کے بعد کے لئے ایک پوائنٹر واپس 362 00:16:43,560 --> 00:16:47,230 اس کے پہلے کردار سٹرنگ، ایک چار ستارہ. 363 00:16:47,230 --> 00:16:52,760 >> تو ظاہر طور پر، آپ کو نہیں ہے تو آپ ڈور میں سے کسی پر مفت تحریری 364 00:16:52,760 --> 00:16:55,600 تم اتنی دور کہا جاتا ہے، آپ کے پاس کچھ میموری لیک کیا گیا. 365 00:16:55,600 --> 00:16:57,430 یقینا ہم کے بارے میں بات نہیں کی ہے یہ تو کوئی نہیں میں ہو گیا ہے 366 00:16:57,430 --> 00:16:58,520 یہ کرنے کے لئے مصیبت. 367 00:16:58,520 --> 00:16:59,980 لیکن ہاں، آگے بڑھنے. 368 00:16:59,980 --> 00:17:03,990 آپ GetString کال کرتے ہیں، تم ہو ڈھیر پر کسی جگہ mallocing. 369 00:17:03,990 --> 00:17:07,640 اور تم اس پر بعد میں مفت کال نہیں ہے تو سٹرنگ، آپ کو ایک میموری لیک ہے. 370 00:17:07,640 --> 00:17:09,440 یہ آپ کے سوال کا جواب؟ 371 00:17:09,440 --> 00:17:10,606 >> جی ہاں 372 00:17:10,606 --> 00:17:15,020 >> طالب علم: تو ایسا کرنے کے لئے، ہم استعمال کرتے ہیں واپسی سے پہلے ڈاؤن لوڈ، اتارنا ہے نا؟ 373 00:17:15,020 --> 00:17:18,510 کی طرح، کے دائرہ کار کے اندر اندر، مجھے لگتا ہے کہ اگر ہم کے اندر اندر، int اہم، طرح، کا کہنا ہے کہ 374 00:17:18,510 --> 00:17:24,410 ان کے اندر ہے کہ کوڈ کے دائرہ کار گھوبگھرالی منحنی خطوط وحدانی، صحیح سے پہلے - 375 00:17:24,410 --> 00:17:26,140 آپ کو پتہ ہے جہاں آپ کو چاہوں عام طور پر واپس ڈال دیا. 376 00:17:26,140 --> 00:17:27,950 آپ اس سے پہلے ڈاؤن لوڈ، اتارنا ڈال دیا ہے؟ 377 00:17:27,950 --> 00:17:31,000 >> JASON HIRSCHHORN: تو آپ مفت کے ڈال کر سکتے ہیں آپ مفت کے ڈال کرنا چاہتے ہیں جہاں کہیں بھی. 378 00:17:31,000 --> 00:17:33,810 ان کو متحرک طور پر مختص کر رہے ہیں کیونکہ متغیر، وہ کر سکتے ہیں کیونکہ 379 00:17:33,810 --> 00:17:39,170 ایک خاص کے دائرہ کار سے باہر رہتے ہیں تقریب، آپ کو ایک میں malloc کہتے ہیں 380 00:17:39,170 --> 00:17:44,140 علیحدہ تقریب، مثال کے طور پر، GetString کے، آپ کو مرکزی میں مفت کال کر سکتے ہیں. 381 00:17:44,140 --> 00:17:46,050 تم نے اسے فون کرنے کی ضرورت نہیں ہے مخصوص تقریب میں 382 00:17:46,050 --> 00:17:47,570 malloc کا کہا جاتا ہے، جہاں. 383 00:17:47,570 --> 00:17:50,340 لیکن اگر آپ کو فون کرنے کی ضرورت ہے اہم واپسی سے پہلے. 384 00:17:50,340 --> 00:17:51,120 >> اور یہ واقعی انحصار کرتا ہے. 385 00:17:51,120 --> 00:17:54,960 یہ آپ کو اس malloced کیوں پر منحصر ہے پہلی جگہ میں جگہ. 386 00:17:54,960 --> 00:17:57,320 کچھ لوگوں کو فون کروں گا بہت تیزی سے آزاد. 387 00:17:57,320 --> 00:17:59,220 کچھ لوگوں تک مفت فون نہیں کرے گا ان کے پروگرام کے اختتام. 388 00:17:59,220 --> 00:18:00,660 اور وہ کے ذریعے جائیں گے اور مفت میں سب کچھ. 389 00:18:00,660 --> 00:18:03,597 یہ آپ malloc کہا جاتا ہے کیوں پر منحصر ہے. 390 00:18:03,597 --> 00:18:11,270 >> طالب علم: اور آپ کیا کہیں گے آپ استعمال GetString کا کہا جاتا ہے تو کیا ہوگا؟ 391 00:18:11,270 --> 00:18:13,320 تم کیا مفت کہونگا؟ 392 00:18:13,320 --> 00:18:20,040 >> JASON HIRSCHHORN: تو کے لئے نحو مفت بس ڈاؤن لوڈ، اتارنا، کھلی قوس، قریب ہے 393 00:18:20,040 --> 00:18:22,130 قوس، اور پوائنٹر نام. 394 00:18:22,130 --> 00:18:26,410 تو آپ سٹرنگ نام برابر لکھنا تو GetString کے، آپ یہاں میں نام ڈال دیا. 395 00:18:26,410 --> 00:18:27,760 اس پوائنٹر کا نام ہے. 396 00:18:27,760 --> 00:18:30,570 اور یہ کہ میموری آزاد کرنا جانتا ہے. 397 00:18:30,570 --> 00:18:33,920 >> طالب علم: یہ کہ میموری آزاد ہے، تو جب پوائنٹر اب بھی اس جگہ کی طرف اشارہ 398 00:18:33,920 --> 00:18:34,970 یاد میں؟ 399 00:18:34,970 --> 00:18:39,020 یا بھی خالی کر دیا پوائنٹر ہے یہ اشارہ ہے کہ ایڈریس. 400 00:18:39,020 --> 00:18:40,290 >> JASON HIRSCHHORN: ہم اس کی کوشش کرنی چاہئے. 401 00:18:40,290 --> 00:18:41,430 ہم اس کوڈ چاہئے. 402 00:18:41,430 --> 00:18:43,880 ہم جب واپس آئے ہیں کوڈنگ، اور کوڈ ہے کہ دو. 403 00:18:43,880 --> 00:18:46,000 اور آپ کو جواب معلوم کرنا چاہتے ہیں تو کہ، آپ کر سکتے ہیں بھی کوڈ ہے 404 00:18:46,000 --> 00:18:46,690 اس دوران میں. 405 00:18:46,690 --> 00:18:49,100 لیکن یہ ایک بڑا سوال ہے. 406 00:18:49,100 --> 00:18:53,480 >> طالب علم: یہ ممکن ہے بہت جلد ہی مفت ہے؟ 407 00:18:53,480 --> 00:18:58,530 تو آپ کو اب بھی آپ کے پروگرام کے لئے اس کی ضرورت ہے، اور آپ اس میموری کی جگہ کو آزاد کرا لیا؟ 408 00:18:58,530 --> 00:18:59,200 >> JASON HIRSCHHORN: جی ہاں. 409 00:18:59,200 --> 00:19:03,020 یہ ممکن ہے، تو آپ مفت میں کچھ اور اس کے بعد آپ اسے دوبارہ استعمال کرتے ہیں، آپ 410 00:19:03,020 --> 00:19:06,890 ایک غلطی میں چلانے کے. 411 00:19:06,890 --> 00:19:10,810 آپ کو آزاد کرا لیا لیکن کیونکہ کہ، تم پر ہے پھر کچھ اور بعد میں یہ کہا جاتا ہے. 412 00:19:10,810 --> 00:19:13,940 تو یہ ایک پروگرامر کی غلطی تھی. 413 00:19:13,940 --> 00:19:14,780 لیکن ہاں. 414 00:19:14,780 --> 00:19:17,760 آپ اس لکھ سکتے تھے. 415 00:19:17,760 --> 00:19:19,240 >> پر کوئی سوالات ہیں - 416 00:19:19,240 --> 00:19:19,760 جی ہاں. 417 00:19:19,760 --> 00:19:22,820 >> طالب علم: تو آپ کے لئے توقع کی جاتی ہے، تو صرف اس سے پہلے عام طور پر اسے آزاد 418 00:19:22,820 --> 00:19:25,490 پروگرام تو اس کا مطلب یہ ہے، ختم ہو جاتی ہے پروگرام ختم ہوتا ہے اور آپ کو یہ مفت نہیں ہے، 419 00:19:25,490 --> 00:19:27,580 کہ میموری اب بھی مختص ہے؟ 420 00:19:27,580 --> 00:19:31,330 >> JASON HIRSCHHORN: آپ کا پروگرام ختم ہوتا ہے تو اور آپ کو تو، کچھ آزاد کرنے کی بھول 421 00:19:31,330 --> 00:19:34,390 کہ میموری میں مختص کیا گیا تھا آپ کے پروگرام کی زندگی. 422 00:19:34,390 --> 00:19:37,670 آپ کے پروگرام، مکمل طور پر بند کر دیتا ہے جب کہ میموری نہیں جا رہا ہے 423 00:19:37,670 --> 00:19:39,490 وہاں ہمیشہ کے لئے رہنے کے لئے. 424 00:19:39,490 --> 00:19:42,080 کمپیوٹر جاننا کافی ہوشیار ہے اس پروگرام کو بند کر دیتا ہے، تو یہ 425 00:19:42,080 --> 00:19:46,440 میموری کا سب سے چھٹکارا حاصل کرنا چاہئے اس پروگرام کے ساتھ منسلک کیا گیا تھا. 426 00:19:46,440 --> 00:19:51,240 >> تاہم، آپ کو چلانے کے کر سکتے ہیں، اوزار ہیں پتہ لگانے کے لئے ایک پروگرام پر، تو جب 427 00:19:51,240 --> 00:19:54,720 پروگرام آپ کو بھول گیا، ختم کچھ میموری آزاد کرنے کے لئے. 428 00:19:54,720 --> 00:19:57,960 اور آپ کے اگلے مسئلہ کے لئے جہاں قائم آپ malloc استعمال کرتے ہوئے اور استعمال کریں گے 429 00:19:57,960 --> 00:20:02,610 اشارہ، آپ کو یہ چلانے کی جائے گی تو دیکھنے کے لئے آپ کے پروگرام کے پروگرام، 430 00:20:02,610 --> 00:20:06,530 جب اہم واپسی، آپ کو کچھ تھا unfreed رہ گئے تھے وہ چیزیں. 431 00:20:06,530 --> 00:20:09,130 >> تو وہ malloced رہنے کے لئے نہیں جا رہے ہیں ہمیشہ کے لیے آپ کے کمپیوٹر میں. 432 00:20:09,130 --> 00:20:11,720 یہ، بیکار ہو جائے گا کیونکہ بہت جلد، کمپیوٹر 433 00:20:11,720 --> 00:20:12,960 میموری سے باہر رہے گی. 434 00:20:12,960 --> 00:20:16,450 لیکن وہ آپ کے آخر تک چلاتے ہیں پروگرام اور وہ آزاد اور نہیں کر رہے ہیں آپ 435 00:20:16,450 --> 00:20:20,260 پروگرام اب بھی ایک مسئلہ ہے، راستے اس آلے کی مدد کرے گا کہ آپ کو ایڈریس. 436 00:20:20,260 --> 00:20:21,520 >> طالب علم: Valgrind ہے؟ 437 00:20:21,520 --> 00:20:22,910 >> JASON HIRSCHHORN: یہ ہے نامی Valgrind. 438 00:20:22,910 --> 00:20:23,520 اور تم ہو جائے گا - 439 00:20:23,520 --> 00:20:25,780 >> طالب علم: لیکن ہم جانتے ہیں کی ضرورت نہیں ہے کہ کوئز کے لئے، لیکن؟ 440 00:20:25,780 --> 00:20:27,600 میرا مطلب ہے، اس کے بارے میں بات کر رہا تھا لیکچر میں تھوڑا سا. 441 00:20:27,600 --> 00:20:33,600 >> JASON HIRSCHHORN: تو Valgrind اس ٹول کا نام ہے. 442 00:20:33,600 --> 00:20:37,180 یہ کیا کرتا ہے سب کچھ جاننے والا ہے کوئز کے لئے کافی. 443 00:20:37,180 --> 00:20:40,200 لیکن آپ پر ابھی تک یہ استعمال نہیں کیا ہے آپ ہم نے نہیں کیا ہے کیونکہ مسئلہ مقرر 444 00:20:40,200 --> 00:20:43,520 واضح طور پر نمٹا گیا ہے کہ مسئلہ سیٹ malloc کے ساتھ یا آپ malloc کا استعمال کرتے ہوئے. 445 00:20:43,520 --> 00:20:45,330 تو ابھی تک آپ Valgrind استعمال نہیں کیا ہے. 446 00:20:45,330 --> 00:20:47,760 لیکن اگر آپ کو جلد از جلد اسے استعمال کریں گے بجائے بعد. 447 00:20:47,760 --> 00:20:48,710 >> طالب علم: آپ کو دوبارہ کر سکتے ہیں کیا Valgrind ہے؟ 448 00:20:48,710 --> 00:20:49,190 >> JASON HIRSCHHORN: معاف کیجئے گا؟ 449 00:20:49,190 --> 00:20:51,240 >> طالب علم: آپ کو کیا دوبارہ کر سکتے ہیں Valgring کا مقصد ہے؟ 450 00:20:51,240 --> 00:20:53,100 >> JASON HIRSCHHORN: Valgrind نام ہے - 451 00:20:53,100 --> 00:20:59,890 GDB، آپ کو اپنے پروگرام ڈیبگ میں مدد ملتی ہے کی طرح Valgrind آپ اعداد و شمار کی مدد کرتا ہے اگر 452 00:20:59,890 --> 00:21:03,210 چیزوں کو آزاد نہیں کیا گیا ہے آپ کے پروگرام بند کر دیتا ہے جب. 453 00:21:03,210 --> 00:21:05,110 تو آپ کو آپ کے پروگرام پر چلانے گا. 454 00:21:05,110 --> 00:21:09,230 اور آپ کے پروگرام راستے، اور یہ کہیں گے آپ کے پروگرام malloc کے اس کے بہت سے ملاقات کی 455 00:21:09,230 --> 00:21:13,670 یہ بہت سے شراکت کے لئے وقت، اور آپ صرف یہ کئی بار ڈاؤن لوڈ، اتارنا ملاقات کی. 456 00:21:13,670 --> 00:21:16,520 اور اس طرح آپ ان بہت سے بائٹس چھوڑ دیا آزاد کیا جا رہا ہے کے بغیر. 457 00:21:16,520 --> 00:21:18,050 یا پھر یہ آپ کو سب کچھ آزاد ہے کہیں گے. 458 00:21:18,050 --> 00:21:19,070 اچھا کام. 459 00:21:19,070 --> 00:21:19,480 >> طالب علم: ٹھیک ہے. 460 00:21:19,480 --> 00:21:21,060 اور یہ Valgring کہا جاتا ہے؟ 461 00:21:21,060 --> 00:21:24,940 >> JASON HIRSCHHORN: V-A-L-G-R-میں ن D-. 462 00:21:24,940 --> 00:21:25,970 >> طالب علم: اشارہ کے بارے میں ایک سوال. 463 00:21:25,970 --> 00:21:30,080 تو آپ (ن) ستارہ کا کہنا ہے کہ ایکس کچھ برابر. 464 00:21:30,080 --> 00:21:33,330 یہ ہے کہ آپ میں ڈال رہے ہیں جو کچھ بھی، برابر وہاں، کیا اندر ڈال جا رہا ہے 465 00:21:33,330 --> 00:21:36,120 کیا ایکس اشارہ کر رہا ہے، یا ایکس کا پوائنٹر؟ 466 00:21:36,120 --> 00:21:37,690 >> JASON HIRSCHHORN: آپ کر سکتے ہیں سوال دوبارہ؟ 467 00:21:37,690 --> 00:21:39,340 آپ کو اس کا کہنا ہے کہ ہم اس کو اپنی طرف متوجہ کر سکتے ہیں؟ 468 00:21:39,340 --> 00:21:42,710 >> طالب علم: کوئز میں، اصل میں، آپ نے ہمیں بھیجا ایک، اس، چار کی طرح تھا 469 00:21:42,710 --> 00:21:46,520 سٹار حقیقت، CS50 پتھر کے برابر ہے؟ 470 00:21:46,520 --> 00:21:52,190 تو اس کا مطلب ہے کہ CS50 پتھر حقیقت کی طرف اشارہ ہے؟ 471 00:21:52,190 --> 00:21:55,810 >> JASON HIRSCHHORN: تو آپ بات کر رہے ہیں ایک تار میں ایک چار ستارہ کے بارے میں، کس طرح 472 00:21:55,810 --> 00:21:56,460 کہ کام کرتا ہے؟ 473 00:21:56,460 --> 00:21:56,890 جی ہاں. 474 00:21:56,890 --> 00:21:57,700 ٹھیک ہے. 475 00:21:57,700 --> 00:21:59,140 یہاں یہ اپنی طرف متوجہ. 476 00:21:59,140 --> 00:22:07,100 >> [ضمنی گفتگو] 477 00:22:07,100 --> 00:22:11,130 >> JASON HIRSCHHORN: تو اس متغیر پروپوزل کی گذارش چار اسٹار کی جا رہی ہے. 478 00:22:11,130 --> 00:22:14,580 ایک متغیر کتنا بڑا ہے پروپوزل کی گذارش چار اسٹار کی؟ 479 00:22:14,580 --> 00:22:15,510 کتنے بائٹس؟ 480 00:22:15,510 --> 00:22:16,450 >> طالب علموں: چار. 481 00:22:16,450 --> 00:22:18,210 >> JASON HIRSCHHORN: یہ چار بائٹس ہے. 482 00:22:18,210 --> 00:22:21,420 ایک متغیر کتنے حقوق ہے قسم int ستارہ کی؟ 483 00:22:21,420 --> 00:22:22,210 >> طالب علموں: چار. 484 00:22:22,210 --> 00:22:24,910 >> JASON HIRSCHHORN: چار بائٹس. 485 00:22:24,910 --> 00:22:28,280 یہ ایک پوائنٹر ہے، تو یہ ہمیشہ سے ہے چار بائٹس، کیونکہ اشارہ، ان کے 486 00:22:28,280 --> 00:22:30,070 قیمت ایک میموری ایڈریس ہے. 487 00:22:30,070 --> 00:22:35,160 اور CS50 پر میموری پتوں آلات چار بائٹس طویل ہیں. 488 00:22:35,160 --> 00:22:42,900 تو ہم GetString، یا جب ہم کہتے ہیں جب کا کہنا ہے کہ، stringname میں اس وقت کے برابر، اور 489 00:22:42,900 --> 00:22:46,140 ڈبل قیمت درج کرنے ایک تار ڈال دیا، ہم ڈال رہے ہیں - 490 00:22:46,140 --> 00:22:46,920 ٹھیک ہے، یہ تھوڑا مختلف ہے. 491 00:22:46,920 --> 00:22:48,630 ہم مثال کے طور پر GetString کے کروں گا. 492 00:22:48,630 --> 00:22:52,150 یا چار ستارہ کچھ تار کے برابر ہے. 493 00:22:52,150 --> 00:22:54,360 معذرت، مجھے مثال دے کہ آپ پڑھیں؟ 494 00:22:54,360 --> 00:22:57,590 >> طالب علم: چار سٹار سچ برابر ڈبل قیمت درج کرنے میں "CS50 پتھر". 495 00:22:57,590 --> 00:23:02,260 >> JASON HIRSCHHORN: تو یہ ستارہ، اس ہم نے کے لئے اس متغیر X فون کروں گا ہماری 496 00:23:02,260 --> 00:23:04,060 عام مقاصد. 497 00:23:04,060 --> 00:23:05,970 ہم X نامی ایک متغیر تشکیل دے دیا ہے. 498 00:23:05,970 --> 00:23:07,610 اس قسم چار ستارہ ہے. 499 00:23:07,610 --> 00:23:10,950 یہ ایک سیریز کے لئے ایک پوائنٹر ہے حروف کی. 500 00:23:10,950 --> 00:23:12,200 تو یہاں نیچے - 501 00:23:12,200 --> 00:23:23,710 502 00:23:23,710 --> 00:23:25,890 >> تو یہ کس طرح گے یاد میں کام کرتے ہیں. 503 00:23:25,890 --> 00:23:27,410 یہ ایک میموری ایڈریس محفوظ کریں گے. 504 00:23:27,410 --> 00:23:31,770 یہ میموری ایڈریس کی دکان گا صف میں پہلی کردار. 505 00:23:31,770 --> 00:23:33,830 اور پھر جب آپ بعد پوائنٹر، تم کروگے 506 00:23:33,830 --> 00:23:35,200 پہلے کردار کو حاصل. 507 00:23:35,200 --> 00:23:38,780 >> اور آپ کی طرح اس بات کو پڑھ رہے ہو ایک سٹرنگ، آپ کے کمپیوٹر ہوشیار ہے 508 00:23:38,780 --> 00:23:42,930 معلوم کرنے کے لئے کافی ہے، اس پوری چیز پڑھیں یہ ایک ردعمل 0 ہو جاتا ہے جب تک. 509 00:23:42,930 --> 00:23:45,530 لیکن آپ میں یہ ایک کردار پڑھ رہے ہو ایک وقت، تو آپ کے ذریعے iterating کر رہے 510 00:23:45,530 --> 00:23:49,910 اس جملے، اس کے بعد آپ کو صرف ایک پڑھے گا ایک وقت میں کردار آپ کو ملتا ہے جب تک 511 00:23:49,910 --> 00:23:50,850 الٹا سلیش 0. 512 00:23:50,850 --> 00:23:52,335 اس کا جواب نہیں کر سکتے ہیں آپ سوال، اگرچہ. 513 00:23:52,335 --> 00:23:55,610 >> طالب علم: جی ہاں، لیکن آپ کو نہیں ہے malloced اس جگہ 514 00:23:55,610 --> 00:23:58,400 ابھی تک اس پوائنٹر کے لئے. 515 00:23:58,400 --> 00:24:02,510 >> JASON HIRSCHHORN: تو مجھے یقین نہیں ہوں بالکل وہی جو آپ دیکھ رہے ہیں، 516 00:24:02,510 --> 00:24:03,640 میں نے اس کوئز نہیں کیا کیونکہ. 517 00:24:03,640 --> 00:24:06,370 یہ ایک مدد گار ہونا چاہیے تھا دوسرے TF سے وسائل. 518 00:24:06,370 --> 00:24:11,380 آپ پر ایک تار پیدا کر رہے ہیں، تو اسٹیک یا ایک مقامی متغیر کے طور پر، یہ کریں گے 519 00:24:11,380 --> 00:24:16,920 صرف الزامات کی صف بجائے ہو طرف اشارہ کرتے ہوئے عام طور پر ایک چار ستارہ 520 00:24:16,920 --> 00:24:18,600 ایک اور سٹرنگ. 521 00:24:18,600 --> 00:24:20,550 لیکن مجھے پتہ نہیں ہے. 522 00:24:20,550 --> 00:24:25,065 کہ ایک پوائنٹر ہو سکتا ہے اسٹیک پر تار کے طور پر اچھی طرح سے. 523 00:24:25,065 --> 00:24:27,240 جی ہاں. 524 00:24:27,240 --> 00:24:31,116 >> طالب علم: میں آپ کی ضرورت ہے معلوم ہے کہ پوائنٹر ہے تو میموری مختص 525 00:24:31,116 --> 00:24:33,360 اندر کا اعلان کر رہی ہے ایک اور تقریب کی. 526 00:24:33,360 --> 00:24:36,740 آپ کو یہ ہے تو ایک ہی بات کرنے کی ضرورت ہے اہم اندر کا اعلان کیا جا رہا ہے، 527 00:24:36,740 --> 00:24:39,570 آپ کو مرکزی کے اندر استعمال کر رہے ہیں؟ 528 00:24:39,570 --> 00:24:43,590 >> JASON HIRSCHHORN: تو جی ہاں. 529 00:24:43,590 --> 00:24:46,670 آپ کسی بھی ایک پوائنٹر اعلان کر سکتے ہیں یاد میں میموری ایڈریس. 530 00:24:46,670 --> 00:24:51,440 یہ ایک مقامی کی یاد کا پتہ ہو سکتا ہے متغیر، اکثر، اگرچہ، 531 00:24:51,440 --> 00:24:55,760 لوگوں کے میموری پتوں کا اعلان نہیں کرتے وہ کیونکہ مقامی متغیر 532 00:24:55,760 --> 00:24:59,890 کہ تقریب کی واپسی دور میں ایک بار، جس میں ہم عام طور پر چیزوں MALLOC کیوں ہے. 533 00:24:59,890 --> 00:25:04,630 لیکن ہاں، اگر آپ کو ایک پوائنٹر اعلان کر سکتا ہے ایک اور مقامی متغیر. 534 00:25:04,630 --> 00:25:06,360 یہ صرف عام طور پر نہیں کیا ہے. 535 00:25:06,360 --> 00:25:09,480 لیکن میں نے اس پر ایک نظر لے جا سکتے ہیں کلاس کے بعد خاص بات. 536 00:25:09,480 --> 00:25:10,650 جی ہاں. 537 00:25:10,650 --> 00:25:12,350 >> طالب علم: میں اس طرح ہے کہا جا رہا ہے کے. 538 00:25:12,350 --> 00:25:16,930 یہ ابتدا کی جائے عجیب لگتا ہے ایک کے طور پر ایک پوائنٹر 539 00:25:16,930 --> 00:25:20,760 پتہ، لیکن کے طور پر کیا ایک کی قیمت کی طرح لگتا ہے. 540 00:25:20,760 --> 00:25:25,970 CS50 اندر کیا ہے ایسا لگتا ہے بات کی طرف اشارہ کیا اور کیا جا رہا ہے 541 00:25:25,970 --> 00:25:28,820 نہیں اصل ایڈریس، ٹھیک ہے؟ 542 00:25:28,820 --> 00:25:30,520 >> JASON HIRSCHHORN: تو ہے معاملہ نہیں، اگرچہ. 543 00:25:30,520 --> 00:25:32,470 یہ کیا ہو رہا ہے نہیں ہے. 544 00:25:32,470 --> 00:25:35,910 آپ کو ایک چار ستارہ کا اعلان کرتے ہیں، یہ ایک میموری ایڈریس ہے. 545 00:25:35,910 --> 00:25:38,860 نوٹیفائر تمام میموری پتوں ہیں کچھ اور طرف اشارہ کرتے ہوئے. 546 00:25:38,860 --> 00:25:41,480 اور ہے کہ کچھ پر ہو سکتا ہے اسٹیک، لیکن تقریبا ہمیشہ ہے 547 00:25:41,480 --> 00:25:43,440 ہم اس کا استعمال نظر آئے گا راہ میں ڈھیر. 548 00:25:43,440 --> 00:25:46,860 549 00:25:46,860 --> 00:25:53,500 لیکن stringname ڈبل اقتباس کے برابر ہے "، GetString کے" ہم دیکھ سکتے ہیں کہ اور ہم 550 00:25:53,500 --> 00:25:55,010 اس کے ذریعے دیکھو اور کوڈ ہے کہ کر سکتے ہیں. 551 00:25:55,010 --> 00:26:01,190 GetString کے تار میں محفوظ نہیں کیا جا رہا ہے کہ متغیر، یا جو کچھ بھی تار 552 00:26:01,190 --> 00:26:04,580 نام ہے کہ میں محفوظ نہیں کیا جا رہا ہے متغیر، کہ ہے کیونکہ نہیں کس طرح 553 00:26:04,580 --> 00:26:06,070 اشارہ کام. 554 00:26:06,070 --> 00:26:06,770 احساس ہے کہ ہے؟ 555 00:26:06,770 --> 00:26:07,170 >> طالب علم: جی ہاں. 556 00:26:07,170 --> 00:26:08,570 >> JASON HIRSCHHORN: ٹھیک ہے. 557 00:26:08,570 --> 00:26:11,690 امید ہے کہ، نہیں تھا کہ کسی کو بھی الجھا. 558 00:26:11,690 --> 00:26:15,732 یہ تھا لیکن اگر ہم اسے دوبارہ میں دیکھ سکتے ہیں تھوڑا سا میں، ہم اصل میں جا رہے ہیں 559 00:26:15,732 --> 00:26:19,240 کہ امید ہے کہ گے کچھ کوڈ ڈور کے ساتھ کام کرتے ہیں اور آپ کو لگتا ہے میں مدد 560 00:26:19,240 --> 00:26:22,170 ان کے ساتھ زیادہ آرام دہ اور پرسکون. 561 00:26:22,170 --> 00:26:24,869 >> ان سے متعلق کسی بھی دیگر سوالات موضوعات یا دیگر موضوعات کہ 562 00:26:24,869 --> 00:26:26,119 میں واپس ڈال دیں گے؟ 563 00:26:26,119 --> 00:26:32,280 564 00:26:32,280 --> 00:26:34,840 اور - 565 00:26:34,840 --> 00:26:36,310 ابھی. 566 00:26:36,310 --> 00:26:37,630 جی ہاں، Alden. 567 00:26:37,630 --> 00:26:39,860 >> ALDEN: تو یہ مکمل طور پر غیر متعلقہ ہے، لیکن ہم صرف جا سکتے ہیں 568 00:26:39,860 --> 00:26:42,760 واقعی بہت تیزی سے ہم جانتے ہیں کرنے کی ضرورت ہے 32 اور اس کے درمیان فرق کے بارے میں 569 00:26:42,760 --> 00:26:46,345 64 بٹ مشین؟ 570 00:26:46,345 --> 00:26:47,740 >> JASON HIRSCHHORN: جی ہاں. 571 00:26:47,740 --> 00:26:52,111 تو 32 بٹس کتنے بائٹس ہے؟ 572 00:26:52,111 --> 00:26:53,060 >> ALDEN: یہ چار بائٹس ہے. 573 00:26:53,060 --> 00:26:54,360 >> JASON HIRSCHHORN: یہ چار بائٹس ہے. 574 00:26:54,360 --> 00:26:58,420 اور 64 بٹس کتنے بائٹس ہے؟ 575 00:26:58,420 --> 00:26:59,112 >> طالب علم: آٹھ. 576 00:26:59,112 --> 00:27:00,610 >> JASON HIRSCHHORN: آٹھ بائٹس. 577 00:27:00,610 --> 00:27:03,980 تو پھر، آٹھ بٹس ایک بائٹ ہے. 578 00:27:03,980 --> 00:27:08,340 آپ CS50 آلات ہے ایک 32 بٹ مشین. 579 00:27:08,340 --> 00:27:13,650 تو میموری پتوں ہیں طویل چار بائٹس. 580 00:27:13,650 --> 00:27:17,460 32 2 ہیں میموری پتوں. 581 00:27:17,460 --> 00:27:21,310 0 32 مائنس 1 2. 582 00:27:21,310 --> 00:27:27,630 اور میں مثبت نہیں ہوں، لیکن یہ ہے آپ کی ضرورت ہے شاید گنجائش 583 00:27:27,630 --> 00:27:35,230 ، ایک 32 بٹ مشین کے لئے پتہ ہے کہ میموری پتے،، ایک بار پھر، چار بائٹس طویل ہیں 584 00:27:35,230 --> 00:27:39,620 اور اس کے زیادہ سے زیادہ رقم ہے میموری پتوں کی. 585 00:27:39,620 --> 00:27:41,680 >> اس کے علاوہ، اعداد و شمار اقسام - 586 00:27:41,680 --> 00:27:45,020 اس کے طور پر کچھ ہو سکتا ہے اچھی طرح سے کہ نوٹنگ کے قابل ہے. 587 00:27:45,020 --> 00:27:49,610 ایک ڈیٹا کی قسم کے سائز پر منحصر آپ کے ساتھ کام کر رہے ہیں مشین. 588 00:27:49,610 --> 00:27:56,760 تو ایک چار، ایک ایک کردار، کس طرح ہے ہماری CS50 آلات پر بہت سے بائٹس؟ 589 00:27:56,760 --> 00:27:57,980 ایک بائٹ. 590 00:27:57,980 --> 00:28:02,310 اور یہ اصل میں ایک بائٹ کے طور پر ساتھ ساتھ ایک 64 بٹ مشین پر. 591 00:28:02,310 --> 00:28:05,920 >> اور سب سے زیادہ اعداد و شمار اقسام ایک ہی تعداد میں ہیں دونوں مشینوں پر بائٹس. 592 00:28:05,920 --> 00:28:11,620 لیکن کچھ اعداد و شمار اقسام مختلف ہو جائے گا دونوں مشینوں پر. 593 00:28:11,620 --> 00:28:14,590 تو وہ ممکنہ طور پر ہو جائے گا آپ کو جاننے کی ضرورت ہے صرف ایک چیز. 594 00:28:14,590 --> 00:28:16,710 >> لیکن پھر بھی ہے، مجھے لگتا ہے، حد سے باہر ہے - 595 00:28:16,710 --> 00:28:20,990 آپ کو واپس دیکھو تو میں، تقریبا مثبت ہوں پرانے quizzes ہے، یہ کہنا ہے کہ، کے لئے فرض 596 00:28:20,990 --> 00:28:24,090 آپ استعمال کر رہے ہیں مسائل کوڈنگ ایک 32 بٹ مشین. 597 00:28:24,090 --> 00:28:26,620 598 00:28:26,620 --> 00:28:30,620 لیکن میں اس کے ساتھ ساتھ جانے کے لئے، ہیں آپ دلچسپی رکھتے ہیں کیس، ہیں 599 00:28:30,620 --> 00:28:35,920 ایک ہی ہیں کہ اعداد و شمار اقسام تمام مشینوں پر سائز. 600 00:28:35,920 --> 00:28:42,670 >> آپ کی طرح کچھ دیکھا ہے تو uint32_t، تم کر سکتے ہو یا 601 00:28:42,670 --> 00:28:43,260 نے دیکھا ہے کہ نہیں. 602 00:28:43,260 --> 00:28:44,290 یہ ایک ڈیٹا کی قسم ہے. 603 00:28:44,290 --> 00:28:47,570 جو 32 بٹیں کوئی بات ہو، کہہ رہا ہے یہ کیا مشین پر ہے. 604 00:28:47,570 --> 00:28:50,350 تو لوگوں پورٹیبل لکھ رہے ہیں جب کوڈ، وہ شاید ints کے استعمال نہیں کرے گا. 605 00:28:50,350 --> 00:28:53,260 انہوں نے بجائے ان دوسرے اعداد و شمار استعمال کریں گے وہ جانتے ہیں کہ اقسام ہی ہو جائے گا 606 00:28:53,260 --> 00:28:54,780 ہر ایک مشین پر سائز. 607 00:28:54,780 --> 00:28:58,080 608 00:28:58,080 --> 00:28:58,250 مادھو. 609 00:28:58,250 --> 00:29:00,150 >> بو: میں نے کے بارے میں ایک سوال تھا تالیف کے عمل. 610 00:29:00,150 --> 00:29:04,110 تو آپ کا استعمال کرتا ہے ایک پروگرام لکھ رہے ہیں CS50 یا کچھ اور طرح ایک لائبریری 611 00:29:04,110 --> 00:29:06,840 اس طرح، میں جانتا ہوں کہ اس لائبریری ، کچھ مواقع پر، ہونا ضروری ہے 612 00:29:06,840 --> 00:29:08,590 مرتب کی اور اندر سے منسلک 613 00:29:08,590 --> 00:29:13,380 لیکن کتنی اس کے دوران ہوتا ہے آپ کے پروگرام کی تالیف؟ 614 00:29:13,380 --> 00:29:15,880 اس لائبریری کے عمل کا حصہ تم وقت ہوتی ہے جب 615 00:29:15,880 --> 00:29:18,560 آپ کے اپنے پروگرام مرتب؟ 616 00:29:18,560 --> 00:29:24,020 >> JASON HIRSCHHORN: تو اوپر چلتے ہیں اس عمل کی عام طور پر اقدامات. 617 00:29:24,020 --> 00:29:26,280 آپ اپنے سی فائل لکھنے. 618 00:29:26,280 --> 00:29:33,530 آپ. C فائل میں، آپ کو # شامل آپ ہیڈر لائبریریاں، مثال کے طور پر، cs50.h. 619 00:29:33,530 --> 00:29:39,480 تیزی سے شامل ہیں اس کا کیا کرتا ہے لائن آپ کے پروگرام کے لئے ہے؟ 620 00:29:39,480 --> 00:29:40,525 Akchar. 621 00:29:40,525 --> 00:29:43,350 >> AKCHAR: یہ prototypes کی اضافہ کر دیتی ہے ہیڈر کی طرف سے کام کرتا ہے 622 00:29:43,350 --> 00:29:45,120 لائبریریاں میں فائلوں. 623 00:29:45,120 --> 00:29:45,600 >> JASON HIRSCHHORN: بالکل. 624 00:29:45,600 --> 00:29:49,870 یہ ان تقریب prototypes اضافہ کر دیتی ہے آپ کے کوڈ کے لئے. 625 00:29:49,870 --> 00:29:55,230 آپ کے کوڈ میں مرتب کیا جا رہا ہے تو جب ابتدائی مراحل، سنکلک جانتا ہے 626 00:29:55,230 --> 00:29:59,250 ان کے افعال میں واقعی موجود ہے، اور اس کہ کہیں وہ بیان کیا گیا ہے. 627 00:29:59,250 --> 00:30:02,460 H فائلوں کو شامل نہیں کرتے ان کے افعال کے لئے تعریف یا کس طرح 628 00:30:02,460 --> 00:30:03,950 وہ اصل میں کام کرتے ہیں. 629 00:30:03,950 --> 00:30:07,960 cs50.h، میں صرف کا کہنا ہے کہ کچھ میں شامل ہیں GetString کے ایک حقیقی بات یہ ہے کہ 630 00:30:07,960 --> 00:30:09,270 ہو سکتا ہے. 631 00:30:09,270 --> 00:30:14,240 اور standardio.h printf کا کہنا ہے کہ ہو سکتا ہے کہ ایک حقیقی چیز. 632 00:30:14,240 --> 00:30:23,190 >> تو اس کے ساتھ آپ C زبان. ہیڈر فائل کچھ میں تبدیل کر دیا جاتا ہے 633 00:30:23,190 --> 00:30:27,750 مشینی پڑھنے کے قابل کوڈ، جس کے آخر میں بائنری میں تبدیل کر دیا جاتا ہے 634 00:30:27,750 --> 00:30:30,030 کوڈ، 0 اور 1. 635 00:30:30,030 --> 00:30:33,590 اور اس کوڈ ہے کہ بالآخر قتل ہو جاتا ہے. 636 00:30:33,590 --> 00:30:38,550 -L CS50 لائن - مثال کے طور پر، آپ بجنا لکھ رہے ہیں جب - 637 00:30:38,550 --> 00:30:41,830 اور پھر آپ بھی شامل ہیں-L CS50، تم اندر اس قسم 638 00:30:41,830 --> 00:30:42,180 اور آپ دیکھتے ہیں کہ. 639 00:30:42,180 --> 00:30:43,890 آپ کو لکھنے کے لئے، تو آپ کریں گے یہاں اس لائن کو دیکھ. 640 00:30:43,890 --> 00:30:47,740 اور ہم ایک دوسرے میں دیکھیں گے کہ جب ہم کوڈ یا اس کے بعد جب ہم نے کوڈ. 641 00:30:47,740 --> 00:30:50,390 >> لیکن یہ-L CS50 لائن کچھ کرتا ہے سے تھوڑا سا مختلف 642 00:30:50,390 --> 00:30:52,440 # cs50.h. میں شامل ہیں 643 00:30:52,440 --> 00:30:56,300 کہ-L CS50 لائن کیا کرتا ہے؟ 644 00:30:56,300 --> 00:30:56,820 AVI؟ 645 00:30:56,820 --> 00:31:00,310 >> AVI: میں نے اس کے لنکس کہنا چاہتا ہوں کہ تقریب لائبریری 646 00:31:00,310 --> 00:31:02,710 اے فائلوں کی طرح، کال. 647 00:31:02,710 --> 00:31:08,200 >> JASON HIRSCHHORN: تو بہت بند، جگہ پر نہیں تو. 648 00:31:08,200 --> 00:31:16,220 -L CS50 بائنری فائل لیتا ہے اور آپ بائنری فائل کے ساتھ ضم کرتا ہے. 649 00:31:16,220 --> 00:31:21,410 تو cs50.h، رخ میں کوئی فائدہ نہیں ہے ہر بائنری سی زبان سے cs50.h، میں 650 00:31:21,410 --> 00:31:23,130 اس کا استعمال کیا جا رہا ہے ایک وقت. 651 00:31:23,130 --> 00:31:26,650 یہی وجہ ہے کہ، پاگل ہو جائے گا کیونکہ اس وقت کی ایک بہت برباد کرے گا. 652 00:31:26,650 --> 00:31:30,420 تو یہ پہلے سے ہی مرتب کیا گیا ہے اور ایک executable میں تبدیل کر دیا. 653 00:31:30,420 --> 00:31:35,430 اور اب یہ ملا دیا جا رہا ہے آخر میں آپ کی فائل کے ساتھ. 654 00:31:35,430 --> 00:31:38,370 لہذا ان 1 اور 0 کی جا رہے ہیں آپ لوگوں کے ساتھ ضم کرنے کے لئے 655 00:31:38,370 --> 00:31:39,150 اور آخر میں 0 ہے. 656 00:31:39,150 --> 00:31:43,670 تو اب آپ اصل میں اصل پڑے گا 1 اور 0 کی کس طرح GetString کے کی وضاحت، 657 00:31:43,670 --> 00:31:47,890 مثال کے طور پر،، کام کرتا ہے، یا کس طرح printf کے مثال کے طور پر، کام کرتا ہے. 658 00:31:47,890 --> 00:31:52,750 >> اور مزید معلومات کے لئے، ہے ایک نیٹ ہے کہ دیتا ہے کہ مختصر compilers کے 659 00:31:52,750 --> 00:31:55,410 آپ کو جاتا ہے کہ باہر کی جانچ پڑتال کرنا چاہئے ان اقدامات کے ذریعے. 660 00:31:55,410 --> 00:31:56,050 لیکن - 661 00:31:56,050 --> 00:31:56,560 جی ہاں. 662 00:31:56,560 --> 00:32:01,700 >> طالب علم: وہ میں ہمیشہ اے فائلوں. وہ لائبریری کی شکل میں ہیں جب، 663 00:32:01,700 --> 00:32:06,764 کی طرح - منسلک، ضم کرنے کے لئے تیار وہ بائنری کوڈ میں ہو؟ 664 00:32:06,764 --> 00:32:07,600 >> JASON HIRSCHHORN: ٹھیک ہے. 665 00:32:07,600 --> 00:32:08,420 کیا - 666 00:32:08,420 --> 00:32:11,780 >> طالب علم: ہے کہ ہمیشہ کے لئے کیس لائبریریاں آپ کو ان سے منسلک ہے؟ 667 00:32:11,780 --> 00:32:12,500 >> JASON HIRSCHHORN: جی ہاں. 668 00:32:12,500 --> 00:32:17,300 تو. کا ہو جائے گا جس کی فائلوں کو، ہے یہ بھی ہو جائے گا جس مشین کوڈ، 669 00:32:17,300 --> 00:32:17,975 آپ کے لئے خفیہ. 670 00:32:17,975 --> 00:32:19,410 تم ان کے بارے میں فکر کرنے کی ضرورت نہیں. 671 00:32:19,410 --> 00:32:24,930 لیکن عام طور پر، جی ہاں، وہ کریں گے اے جانے کے لئے تیار فائلوں میں. ہو. 672 00:32:24,930 --> 00:32:27,170 >> طالب علم: تو اگر تم پر جہاز جب ایک لائبریری، آپ کو صرف جہاز ہے 673 00:32:27,170 --> 00:32:28,880 . H اور. O؟ 674 00:32:28,880 --> 00:32:32,210 آپ. C یا. کے جہاز نہیں ہے. 675 00:32:32,210 --> 00:32:33,070 >> JASON HIRSCHHORN: SO - 676 00:32:33,070 --> 00:32:36,260 اور اس پر اگر، کے ساتھ ساتھ اس مختصر میں ہے یہ معلومات آنے لگتا ہے 677 00:32:36,260 --> 00:32:36,700 تھوڑا جلدی سے. 678 00:32:36,700 --> 00:32:39,870 لیکن compilers کے پر مختصر اس کے بارے میں بات چیت کے ساتھ ساتھ. 679 00:32:39,870 --> 00:32:43,290 آپ کو ایک لائبریری جہاز تو، اگر آپ کو جہاز . ایچ، ہیڈر فائل، ان 680 00:32:43,290 --> 00:32:46,290 تقریب prototypes، اور 1 اور 0، کہ آپ کو دینے کے لئے کی ضرورت ہے. 681 00:32:46,290 --> 00:32:50,640 آپ کو دے کی ضرورت نہیں ہے کس طرح تقریب. سی فائل، کام کرتا ہے. 682 00:32:50,640 --> 00:32:56,360 کیونکہ تجرید کے نقطہ، یا APIs کا اشارہ، اس SPL میں نقطہ، 683 00:32:56,360 --> 00:32:59,650 سٹینفورڈ پورٹیبل لائبریری، یہ ہے آپ کے بارے میں فکر نہ کرنے کے لئے کس طرح نئے 684 00:32:59,650 --> 00:33:04,220 GRect، کام کرتا ہے، یا کس طرح کام کرتا ہے میں منتقل یا کس طرح کام کرتا ہے شامل. 685 00:33:04,220 --> 00:33:06,520 آپ کو جاننے کی ضرورت ہے کہ شامل ہے آپ کر سکتے ہیں کہ ایک تقریب ہے 686 00:33:06,520 --> 00:33:08,880 استعمال کرتے ہیں، اور یہ کرتا ہے. 687 00:33:08,880 --> 00:33:12,760 تو کیا تم سچ میں پتہ کرنے کی ضرورت نہیں کس طرح یہ سی تم میں لکھا ہے صرف کرنے کی ضرورت ہے 688 00:33:12,760 --> 00:33:15,460 جانتے ہیں، یہاں افعال ہیں، کیا وہ کرتے، اور یہاں 1 اور 0 کی ہیں 689 00:33:15,460 --> 00:33:18,870 اگر آپ واقعی ان کا استعمال کرنا چاہتے ہیں جب. 690 00:33:18,870 --> 00:33:19,530 >> ڈاؤن لوڈ، اتارنا. 691 00:33:19,530 --> 00:33:26,980 compilers کے پر کوئی سوالات یا بورڈ پر دیگر موضوعات؟ 692 00:33:26,980 --> 00:33:30,300 >> طالب علم: میں ایک سوال ہے پنراورتی کام کرتا ہے کو لاگو. 693 00:33:30,300 --> 00:33:31,170 تکرار کے بارے میں ایک سوال کے جواب میں. 694 00:33:31,170 --> 00:33:33,030 میں آ جائے گا کہ ایک احساس تھا. 695 00:33:33,030 --> 00:33:38,310 تو فوری طور پر کے ذریعے جانے دو ایک مخصوص کے ساتھ تکرار 696 00:33:38,310 --> 00:33:40,690 مثال کے طور پر، ایک جز ضربیہ تقریب. 697 00:33:40,690 --> 00:33:44,920 یہ ایک مثال ہے کہ اکثر آتا ہے یا استعمال کیا جاتا ہے 698 00:33:44,920 --> 00:33:46,170 تکرار وضاحت کرنے کے لئے. 699 00:33:46,170 --> 00:33:52,390 700 00:33:52,390 --> 00:33:56,410 >> تو "4" 4 جز ضربیہ کے طور پر پڑھا جاتا ہے. 701 00:33:56,410 --> 00:33:59,120 اور 4 جز ضربیہ کیا مطلب ہے؟ 702 00:33:59,120 --> 00:34:00,696 یہ کیا کرتا ہے؟ 703 00:34:00,696 --> 00:34:02,235 کس طرح آپ 4 جز ضربیہ حساب ہیں؟ 704 00:34:02,235 --> 00:34:05,250 705 00:34:05,250 --> 00:34:07,960 4 اوقات 3 بار 2 بار 1. 706 00:34:07,960 --> 00:34:11,889 >> 4 جز ضربیہ لکھنے کے لئے تو ایک اور طریقہ اس کو لکھنے کے لئے ہے. 707 00:34:11,889 --> 00:34:16,780 708 00:34:16,780 --> 00:34:19,022 4 بار 3 جز ضربیہ. 709 00:34:19,022 --> 00:34:22,080 3 جز ضربیہ ہے 3 بار 2 بار 1. 710 00:34:22,080 --> 00:34:27,580 تو 4 بار 3 جز ضربیہ 4 اوقات 3 بار 2 بار 1. 711 00:34:27,580 --> 00:34:32,679 جز ضربیہ ایک بہت اچھا ہے یہی وجہ ہے کہ تکرار کے امیدوار، یہ ہے 712 00:34:32,679 --> 00:34:36,630 کہ وہاں کچھ ہے واضح ہے کہ ایک پر اور اس سے زیادہ اور اس سے زیادہ ہوتا ہے 713 00:34:36,630 --> 00:34:39,820 چیزوں کی چھوٹی تعداد تک آپ کو اختتام تک پہنچنے کے. 714 00:34:39,820 --> 00:34:42,570 آپ 1 تک پہنچ جاتے ہیں، 1 جز ضربیہ 1 ہے. 715 00:34:42,570 --> 00:34:43,719 آپ زیادہ مزید نہیں جا سکتے. 716 00:34:43,719 --> 00:34:47,219 0 جز ضربیہ بھی 1 کے طور پر بیان کیا جاتا ہے. 717 00:34:47,219 --> 00:34:50,679 آپ 1 یا 0 حاصل کرنے کے لئے تو، تم ہو آخر میں، اور آپ کر سکتے ہیں 718 00:34:50,679 --> 00:34:53,219 واپس اوپر جا رہا شروع. 719 00:34:53,219 --> 00:34:59,540 ہم ایک پنراورتی لکھنا چاہتا تھا تو اگر ایک جز ضربیہ حساب کرنے کے لئے تقریب، 720 00:34:59,540 --> 00:35:02,170 ہم نے کچھ لکھنے کے لئے جا رہے ہیں کہ اب کے لئے pseudocode. 721 00:35:02,170 --> 00:35:03,300 ہم اس pseudocode لکھنے سے پہلے - 722 00:35:03,300 --> 00:35:05,660 میں تم لوگوں منٹ کے ایک جوڑے کو دے دونگا چھدم کوڈ لکھنے یا صرف سوچنے کے لئے 723 00:35:05,660 --> 00:35:09,600 اس کے بارے میں - ہر دو چیزیں ہیں پنراورتی تقریب کی ضرورت ہے. 724 00:35:09,600 --> 00:35:12,530 ان دو چیزیں ہیں؟ 725 00:35:12,530 --> 00:35:13,220 >> جیک: یہ خود فون کرنے کی ہے. 726 00:35:13,220 --> 00:35:13,680 >> JASON HIRSCHHORN: نوح؟ 727 00:35:13,680 --> 00:35:14,460 اوہ، جیک. 728 00:35:14,460 --> 00:35:15,100 آگے بڑھو. 729 00:35:15,100 --> 00:35:16,640 >> جیک: یہ خود فون کرنے کی ہے. 730 00:35:16,640 --> 00:35:19,220 >> JASON HIRSCHHORN: تو ایک پنراورتی تقریب، ایک پنراورتی کال کی ضرورت ہے 731 00:35:19,220 --> 00:35:20,220 خود کو کال کریں. 732 00:35:20,220 --> 00:35:20,770 یہ ایک ہے. 733 00:35:20,770 --> 00:35:21,510 اور دوسری بات کیا ہے؟ 734 00:35:21,510 --> 00:35:22,250 >> جیک: ایک بنیاد کیس. 735 00:35:22,250 --> 00:35:23,780 >> JASON HIRSCHHORN: ایک بنیاد کیس. 736 00:35:23,780 --> 00:35:26,940 ایک بنیاد کیس ہم کو روکنے کے جب یہاں ہے، ہے. 737 00:35:26,940 --> 00:35:29,510 تو آپ کی تقریب میں بلایا جاتا ہے. 738 00:35:29,510 --> 00:35:31,410 بنیاد کیس پہلے آتا ہے. 739 00:35:31,410 --> 00:35:33,710 آپ آخر میں ہیں تو میں جاننا چاہتا ہوں. 740 00:35:33,710 --> 00:35:37,110 اور تم، آخر میں آپ کو نہیں ہو تو آپ پنراورتی کال. 741 00:35:37,110 --> 00:35:39,880 اور تم، پھر اس تقریب کے ذریعے جانا پھر آپ کی بنیاد پر کیس کی جانچ پڑتال. 742 00:35:39,880 --> 00:35:42,575 آپ کو آخر نہیں ہیں تو، آپ کو دوسرے پنراورتی کال، 743 00:35:42,575 --> 00:35:44,130 وغیرہ، وغیرہ. 744 00:35:44,130 --> 00:35:47,110 >> یہی وجہ ہے کہ پنراورتی افعال ہمیشہ ان بیس مقدمات اور ان کی ضرورت ہے 745 00:35:47,110 --> 00:35:48,210 پنراورتی کالوں. 746 00:35:48,210 --> 00:35:51,280 آپ کو ایک پنراورتی کال کی ضرورت نہیں ہے، یہ ایک پنراورتی تقریب نہیں ہو گی. 747 00:35:51,280 --> 00:35:53,210 آپ کو ایک بنیاد کیس نہیں تھا تو، تم ہمیشہ کے لئے جانا ہے اور کرے گا 748 00:35:53,210 --> 00:35:54,780 کوئی آخر نہیں ہو گی. 749 00:35:54,780 --> 00:35:57,870 اور بنیاد کیس ہمیشہ سب سے پہلے آتا ہے، آپ ہمیشہ کی جانچ کرنا چاہتے گا کیونکہ 750 00:35:57,870 --> 00:36:00,420 آپ سب سے پہلے آخر میں ہیں. 751 00:36:00,420 --> 00:36:04,770 ہم کچھ pseudocode کرتے ہیں تو اس سے پہلے، کیوں آپ کے بارے میں سوچنے کے لئے ایک منٹ لے نہیں ہے 752 00:36:04,770 --> 00:36:09,360 کس طرح ایک پنراورتی جز ضربیہ تقریب لکھا جائے گا؟ 753 00:36:09,360 --> 00:36:23,340 754 00:36:23,340 --> 00:36:26,010 >> کے علاوہ، آپ کیا کر رہے ہیں کے طور پر کئی کے طور پر، تحریری طور پر کاغذ کی ایک شیٹ پر باہر ہے 755 00:36:26,010 --> 00:36:27,960 آپ کے لئے جا رہے ہیں کیا کل کوئز پر کیا. 756 00:36:27,960 --> 00:36:32,160 بنانے کے لئے تو شاید اچھی پریکٹس یقین ہے کہ آپ لکھ رہے ہیں کوڈ 757 00:36:32,160 --> 00:36:34,420 کاغذ کی شیٹ پر نیچے - 758 00:36:34,420 --> 00:36:35,160 یا آپ یہ کر سکتے ہیں. 759 00:36:35,160 --> 00:36:36,710 وقف ناقص ہیں جہاں تم جانتے ہو. 760 00:36:36,710 --> 00:36:37,660 آپ نحو یاد. 761 00:36:37,660 --> 00:36:40,400 آپ کے پاس کرنے کے قابل نہیں رہے ہیں کیونکہ ایک سنکلک آپ کو ایک غلطی کی بتانا. 762 00:36:40,400 --> 00:37:02,356 763 00:37:02,356 --> 00:37:07,240 >> اس کے علاوہ، ان لائنوں، کل، کے ساتھ ساتھ جب آپ تو آپ، مسائل کوڈنگ ہے 764 00:37:07,240 --> 00:37:11,490 وقت کے لئے پہنچ گئے، یا کر رہے ہیں آپ کو بہت ہو آپ کے لئے توقع کر رہے ہیں کہ کس طرح کے طور پر الجھن میں 765 00:37:11,490 --> 00:37:16,030 C میں خاص بات یہ ہے کہ لکھنے، یہ چھدم کوڈ لکھنے کے لئے آپ کو ہونا گے 766 00:37:16,030 --> 00:37:18,160 یا کے طور پر اچھی طرح سے میں تبصرے لکھنے. 767 00:37:18,160 --> 00:37:21,940 کے لئے جزوی طور پر کریڈٹ نہیں ہے کیونکہ گئے تمام سوالات پر سوالات کے بہت. 768 00:37:21,940 --> 00:37:24,840 تو تم پہنچ گئے، یا ہو سکتا ہے صرف الجھن میں ہو سکتا ہے. 769 00:37:24,840 --> 00:37:28,030 تبصرے یا چھدم کوڈ میں لکھنا اکثر طریقے ہیں کہ آپ 770 00:37:28,030 --> 00:37:29,360 جزوی کریڈٹ حاصل کر سکتے ہیں. 771 00:37:29,360 --> 00:37:31,440 >> تو کچھ نہیں چھوڑتے کوئز پر خالی. 772 00:37:31,440 --> 00:37:33,490 کے لئے کوئی جرمانہ نہیں ہے اندر چیزیں ڈال 773 00:37:33,490 --> 00:37:37,650 اصل میں، چھدم کوڈ میں ڈال یا تبصرے جماعت کے طالب علم کی مدد کی جا رہی ہے 774 00:37:37,650 --> 00:37:40,410 آپ اصل میں معلوم ہے کہ اگر اعداد و شمار کیا آپ ہو سکتا ہے کہ ایوارڈ کے بارے میں بات، اور کر رہے ہیں 775 00:37:40,410 --> 00:37:42,030 آپ اس کے لئے کچھ جزوی کریڈٹ. 776 00:37:42,030 --> 00:37:44,510 >> اس کے علاوہ ان خطوط، واضح طور پر لکھتے ہیں. 777 00:37:44,510 --> 00:37:47,650 ہم واقعی آپ لکھ رہے ہیں نہیں کر سکتے ہیں کیا ہے تو، ہم آپ کو فون کرنے کے لئے نہیں جا رہے ہیں 778 00:37:47,650 --> 00:37:49,900 اعداد و شمار کے آدھی رات کو کل آپ نے لکھا کیا. 779 00:37:49,900 --> 00:37:51,520 ہم صرف پوائنٹس دور لے جا رہے ہیں. 780 00:37:51,520 --> 00:37:56,570 تو ہم بجائے سن، یا کر سکتے ہیں، واضح طور پر لکھیں، ہم آپ کو لکھا کیا پڑھ سکتے ہیں. 781 00:37:56,570 --> 00:38:00,230 >> اور یہ دو جملوں کا کہنا ہے کہ اگر، ایک پیراگراف لکھ نہیں. 782 00:38:00,230 --> 00:38:02,280 ہدایات پر عمل کریں. 783 00:38:02,280 --> 00:38:03,500 واضح طور پر لکھیں. 784 00:38:03,500 --> 00:38:07,720 اور ان کے تبصرے میں لکھنے یا سوالات کے لئے pseudocode ہے کہ کر سکتے ہیں 785 00:38:07,720 --> 00:38:10,270 ایوارڈ جزوی کریڈٹ. 786 00:38:10,270 --> 00:38:12,520 >> ٹھیک ہے، کی جز ضربیہ جانے. 787 00:38:12,520 --> 00:38:15,000 تو ہم نے ایک تقریب جز ضربیہ ہے. 788 00:38:15,000 --> 00:38:18,400 789 00:38:18,400 --> 00:38:21,550 میں اصل میں C میں یہ لکھنے کے لئے تھے، تو کیا میں نے نام سے پہلے ڈال کرنے کی ضرورت 790 00:38:21,550 --> 00:38:22,800 تقریب کی؟ 791 00:38:22,800 --> 00:38:24,880 792 00:38:24,880 --> 00:38:30,060 واپسی کی قسم، اس میں جس، کیس، ہم اس INT دے دونگا. 793 00:38:30,060 --> 00:38:35,450 اور پھر گھوبگھرالی منحنی خطوط وحدانی کے اندر ہے، کیا کے لئے گھوبگھرالی منحنی خطوط وحدانی کے اندر جاتا ہے 794 00:38:35,450 --> 00:38:36,850 ایک تقریب؟ 795 00:38:36,850 --> 00:38:37,950 >> طالب علموں: ترک قسم. 796 00:38:37,950 --> 00:38:39,150 >> JASON HIRSCHHORN: اس کے دلائل. 797 00:38:39,150 --> 00:38:42,680 تو جز ضربیہ شاید ایک دلیل لے. 798 00:38:42,680 --> 00:38:44,500 شاید یہ صرف ایک دلیل لے لیں گے. 799 00:38:44,500 --> 00:38:49,450 اور ہم اسے لے جائیں گے کہیں گے ایک عددی X کہا جاتا ہے. 800 00:38:49,450 --> 00:38:52,770 اور پھر، پروٹوٹائپ کی تحریر جب ایک تقریب یا تقریب لکھنے 801 00:38:52,770 --> 00:38:57,110 ، آپ کو اس کی وضاحت کرنے سے پہلے آپ کے کوڈ میں کے اعداد و شمار کی قسم اور نام لکھنا 802 00:38:57,110 --> 00:39:01,370 صرف یہ کہ تقریب کے لئے کہ متغیر. 803 00:39:01,370 --> 00:39:06,350 تو آپ کو اس میں کچھ تعداد منتقل کر سکتی ہیں تقریب، یہ ایکس کے طور پر کہا جائے گا 804 00:39:06,350 --> 00:39:07,340 اندرونی. 805 00:39:07,340 --> 00:39:08,755 >> ہم اپنے جز ضربیہ تقریب ہے. 806 00:39:08,755 --> 00:39:12,030 807 00:39:12,030 --> 00:39:15,850 ہم دو چیزیں، ایک بنیاد کے کیس کی ضرورت اور ایک پنراورتی کال. 808 00:39:15,850 --> 00:39:20,900 جز ضربیہ کے لئے بنیاد کا معاملہ کیا ہے؟ 809 00:39:20,900 --> 00:39:24,850 اس کے باہر لکھا ہے اور کون نہیں ہے جو کسی ابھی تک بات کی، کی بنیاد کیا ہے 810 00:39:24,850 --> 00:39:26,100 جز ضربیہ کے لئے کیس؟ 811 00:39:26,100 --> 00:39:28,400 812 00:39:28,400 --> 00:39:30,930 >> طالب علم: N کم ہے تو 2 سے، واپس 1. 813 00:39:30,930 --> 00:39:33,520 >> JASON HIRSCHHORN: N ہے تو 2 سے کم، 1 واپس. 814 00:39:33,520 --> 00:39:37,216 مجھے پسند ہے کہ، اس وجہ سے 0 اور 1 کا خیال رکھتا ہے. 815 00:39:37,216 --> 00:39:45,290 تو ہم، X <2 کر 1 واپس آ جائیں گے. 816 00:39:45,290 --> 00:39:47,870 ہم تو ہم، 0 منظور ہو تو 1 منظور، یہ کام کرے گا 817 00:39:47,870 --> 00:39:49,790 فوری طور پر واپس 1. 818 00:39:49,790 --> 00:39:54,020 ہم کچھ تعداد زیادہ سے زیادہ منظور ہو تو سے یا 2 کے برابر، ہم جا رہے ہیں 819 00:39:54,020 --> 00:39:55,370 ہمارے پنراورتی کال ہے. 820 00:39:55,370 --> 00:39:57,855 >> اور تو کس طرح کام کرنے کے لئے جا رہی ہے؟ 821 00:39:57,855 --> 00:40:01,070 کر سکتے ہیں اس پر کام کیا ہے جو کسی اور جو ابھی تک بات نہیں ہے مجھے دے دو 822 00:40:01,070 --> 00:40:07,380 اس تقریب کے لئے پنراورتی کال pseudocode میں؟ 823 00:40:07,380 --> 00:40:10,770 ہم ایک بڑی تعداد ایکس میں منظور ہو تو اور یہ 2 سے بڑا ہے، کیا 824 00:40:10,770 --> 00:40:13,370 ہم کرنا چاہتے ہیں؟ 825 00:40:13,370 --> 00:40:17,930 ہم نے بھی ایک مثال کے طور پر لکھا ہے آپ کو ایک اشارہ دے سکتا ہے اس طرف. 826 00:40:17,930 --> 00:40:20,770 >> طالب علم: X بار کال ایکس مائنس 1 جز ضربیہ؟ 827 00:40:20,770 --> 00:40:22,020 >> JASON HIRSCHHORN: بالکل صحیح. 828 00:40:22,020 --> 00:40:24,610 829 00:40:24,610 --> 00:40:37,750 ہم X اوقات واپس جا رہے ہیں ایکس مائنس 1 جز ضربیہ. 830 00:40:37,750 --> 00:40:41,810 اور، میں نے لکھا ہے، اگرچہ، کہ بنیادی طور پر، کیا آپ انگریزی میں کہا، 831 00:40:41,810 --> 00:40:44,580 اس جز ضربیہ تقریب پھر کہا جاتا ہے ہو جائے گا. 832 00:40:44,580 --> 00:40:46,320 یہ ایکس مائنس 1 پر عمل کریں گے. 833 00:40:46,320 --> 00:40:49,320 یہ کچھ عددی کے ساتھ واپس آ، گے پھر اس کے بعد ان دونوں سے ضرب کریں گے 834 00:40:49,320 --> 00:40:52,050 ایک دوسرے کے ساتھ، اور اس کی قیمت ہو جائے گا یہ کہا جاتا ہے، جو کچھ بھی کرنے کے لئے واپس 835 00:40:52,050 --> 00:40:55,010 جز ضربیہ تقریب، جس میں طاقت ایک اور مثال کے طور پر کی جائے 836 00:40:55,010 --> 00:40:58,420 اس جز ضربیہ تقریب. 837 00:40:58,420 --> 00:41:01,360 >> تو یہ ایک پنراورتی کی ایک مثال ہے تقریب، ایک بہت ہی 838 00:41:01,360 --> 00:41:02,530 سادہ پنراورتی تقریب. 839 00:41:02,530 --> 00:41:04,530 لیکن ان میں سے زیادہ تر اس طرح ہو جائے گا. 840 00:41:04,530 --> 00:41:11,170 آپ کو ایک اچھا پنراورتی چاہتے ہیں تو کوئز کے لئے چیلنج، کوڈنگ کی کوشش 841 00:41:11,170 --> 00:41:13,230 بائنری تلاش تکراری. 842 00:41:13,230 --> 00:41:18,950 کیونکہ آپ کے لئے بائنری تلاش کیا تو مسئلہ تین مقرر کیا، تو شاید آپ نے یہ کیا 843 00:41:18,950 --> 00:41:21,730 iteratively تھوڑی دیر لوپ میں. 844 00:41:21,730 --> 00:41:23,700 >> لیکن یہ بھی لکھا جا سکتا ہے تکراری. 845 00:41:23,700 --> 00:41:26,310 آپ اپنی ہی لکھنے کی ضرورت کرنے جا رہے ہیں کچھ لیتا ہے کہ علیحدہ تقریب 846 00:41:26,310 --> 00:41:29,020 مختلف کمانڈ لائن کے دلائل - یا نہیں کمانڈ لائن کے دلائل، کچھ 847 00:41:29,020 --> 00:41:30,910 مختلف صرف باقاعدہ دلائل. 848 00:41:30,910 --> 00:41:33,870 لیکن آپ کو بائنری تلاش لکھ سکتے تھے تکراری طور پر ساتھ ساتھ. 849 00:41:33,870 --> 00:41:36,190 >> طالب علم: تو تم نے بھی لکھا ہے کر سکتے ہیں، اس کی بجائے ایکس مائنس 1، آپ 850 00:41:36,190 --> 00:41:39,502 بھی ایکس مائنس لکھا ہے کر سکتے ہیں مائنس، یا آپ کر سکتے ہیں 851 00:41:39,502 --> 00:41:40,830 لکھا مائنس مائنس ایکس. 852 00:41:40,830 --> 00:41:44,740 آپ کو صرف واقعی جلدی کیوں کی وضاحت کر سکتا ان مختلف چیزیں ہو جائے گا، 853 00:41:44,740 --> 00:41:49,510 فرق کے درمیان ہے کس طرح ایکس مائنس مائنس اور مائنس مائنس X؟ 854 00:41:49,510 --> 00:41:51,320 >> JASON HIRSCHHORN: نہیں، میں نہیں ہوں اس میں جانے کے لئے جا. 855 00:41:51,320 --> 00:41:55,500 لیکن میں نے اس کے بعد اس کے بارے میں آپ سے بات کرے گا کلاس. ایکس مائنس مائنس، مائنس مائنس ایکس 856 00:41:55,500 --> 00:41:57,780 1 کی طرف سے ایکس تدریج کریں. 857 00:41:57,780 --> 00:41:59,090 لیکن وہ تھوڑا سا مختلف طریقے سے کرتے ہیں. 858 00:41:59,090 --> 00:42:00,340 لیکن میں نے اس میں جانے کے لئے نہیں کرنا چاہتا. 859 00:42:00,340 --> 00:42:04,330 860 00:42:04,330 --> 00:42:09,090 تکرار کے بارے میں دیگر سوالات یا اس تقریب؟ 861 00:42:09,090 --> 00:42:10,140 یہ واقعی بھی pseudocode نہیں ہے. 862 00:42:10,140 --> 00:42:15,060 یہ بنیادی طور پر میں کوڈ ہے تم اس کے لئے لکھنے گی C. 863 00:42:15,060 --> 00:42:19,393 >> ٹھیک ہے، کسی بھی دیگر سوالات یہاں موضوعات کے بارے میں؟ 864 00:42:19,393 --> 00:42:19,864 جی ہاں. 865 00:42:19,864 --> 00:42:23,130 >> طالب علم: میں نے ایک فوری ناگفتہ بہ ہے فلوٹنگ پوائنٹ اور صحت سے متعلق. 866 00:42:23,130 --> 00:42:24,260 >> JASON HIRSCHHORN: فلوٹنگ نقطہ اور صحت سے متعلق. 867 00:42:24,260 --> 00:42:26,920 کر سکتے ہیں کسی کو واقعی بہت تیزی سے میرے ایک پسماندہ دے 868 00:42:26,920 --> 00:42:28,210 فلوٹنگ پوائنٹ اور صحت سے متعلق؟ 869 00:42:28,210 --> 00:42:30,420 آپ نے اپنے تمام کے لئے ایسا کرنے کے لئے تھا مسئلہ سیٹ، تو آپ سب ہیں 870 00:42:30,420 --> 00:42:31,700 اس سے واقف. 871 00:42:31,700 --> 00:42:35,090 یا شاید نہیں سب آپ کے. 872 00:42:35,090 --> 00:42:36,602 کوئی ہے؟ 873 00:42:36,602 --> 00:42:39,530 مجھے ایک شروع جگہ دے دو. 874 00:42:39,530 --> 00:42:40,750 فلوٹنگ پوائنٹ اور صحت سے متعلق. 875 00:42:40,750 --> 00:42:42,380 مسئلہ کیا ہے؟ 876 00:42:42,380 --> 00:42:42,960 جی ہاں. 877 00:42:42,960 --> 00:42:43,680 وکٹوریہ؟ 878 00:42:43,680 --> 00:42:44,480 >> وینیسا: وینیسا. 879 00:42:44,480 --> 00:42:45,285 >> JASON HIRSCHHORN: وینیسا. 880 00:42:45,285 --> 00:42:45,680 معذرت. 881 00:42:45,680 --> 00:42:51,550 >> وینیسا: صرف ایک محدود تعداد نہیں ہے کی نمائندگی کی جا سکتا ہے کی تعداد کے 882 00:42:51,550 --> 00:42:57,930 آپ کو ایک، میں ہیں کیونکہ ہمارے کیس، ایک 32 بٹ نظام. 883 00:42:57,930 --> 00:43:03,080 تو آپ کی قسم کے لئے ہے کچھ تعداد قضاء. 884 00:43:03,080 --> 00:43:03,910 >> JASON HIRSCHHORN: تو ہے بالکل صحیح. 885 00:43:03,910 --> 00:43:08,110 صرف ایک مخصوص رقم کی ہیں کی نمائندگی کی جا سکتا ہے کی تعداد. 886 00:43:08,110 --> 00:43:11,770 آپ کو دو بہت بڑی تعداد سے ضرب ہے تو، یہ رقم اتپرواہ کر سکتے ہیں 887 00:43:11,770 --> 00:43:13,950 خالی جگہوں کے آپ کی نمائندگی کرنے کے لئے ہے ایک عددی. 888 00:43:13,950 --> 00:43:17,930 کبھی کبھی ہم استعمال کرتے ہیں یہی وجہ ہے کہ ایک اس کی بجائے ایک int کے طویل طویل. 889 00:43:17,930 --> 00:43:19,210 کہ خالی جگہ ہے. 890 00:43:19,210 --> 00:43:21,210 یہ ایک بڑی تعداد پکڑ کر سکتے ہیں. 891 00:43:21,210 --> 00:43:24,310 >> فلوٹنگ پوائنٹ صحت سے متعلق کے ساتھ کیا ہے ہے، بلکہ ساتھ کیا کرنا ہے 892 00:43:24,310 --> 00:43:29,300 دشملو تعداد حقیقت یہ ہے کہ ہمیشہ نمائندگی نہیں. 893 00:43:29,300 --> 00:43:29,540 معذرت. 894 00:43:29,540 --> 00:43:31,280 مجھے یہ واپس ڈال دو. 895 00:43:31,280 --> 00:43:36,610 دشملو تعداد 1.0 ہمیشہ نہیں ہے آپ کی طرح کی نمائندگی کی توقع کریں گے، 896 00:43:36,610 --> 00:43:40,770 1،000000000. 897 00:43:40,770 --> 00:43:50,360 یہ کبھی کبھی کے طور پر ظاہر کیا جاتا ہے 1،000000001 یا 0،999999999. 898 00:43:50,360 --> 00:43:52,780 یہ بھی 89 پھینک دیا جا سکتا ہے وہاں کہیں میں. 899 00:43:52,780 --> 00:43:56,560 لہذا ان دشملو تعداد نہیں ہیں بالکل آپ جیسے نمائندگی 900 00:43:56,560 --> 00:43:58,430 ان کی نمائندگی کی توقع ہے. 901 00:43:58,430 --> 00:44:00,010 >> تو مسئلہ میں قائم - 902 00:44:00,010 --> 00:44:00,860 یہ دو تھا - 903 00:44:00,860 --> 00:44:05,290 مسئلہ ہم کے ساتھ نمٹا ہے جہاں دو، قائم ہم چاہتے تھے جب چل نقاط کی تعداد، 904 00:44:05,290 --> 00:44:08,690 ان کے ہم چاہتے تھے بالکل وہی جو کی نمائندگی کرنے کے ان کی نمائندگی کرنے کے لئے، کی تعداد 905 00:44:08,690 --> 00:44:12,860 پیسے کے، یا سینٹ کی تعداد، ہم نے 100 کی طرف سے ان ضرب. 906 00:44:12,860 --> 00:44:14,750 ہم نے ان کو حراست میں. 907 00:44:14,750 --> 00:44:18,660 اور پھر ہم سب کچھ کاٹ اشارہ کے پیچھے. 908 00:44:18,660 --> 00:44:22,020 اس بات کا یقین تھا کہ وہ کرے گا ہم چاہتے تھے بالکل وہی جو اصل کے برابر 909 00:44:22,020 --> 00:44:22,410 ان کے برابر کرنے کے لئے. 910 00:44:22,410 --> 00:44:26,870 >> تم سے کچھ لے جب کہ ہے کیونکہ ایک فلوٹ اور آپ، ایک int میں تبدیل 911 00:44:26,870 --> 00:44:29,860 سب کچھ درست کرنے کاٹ اعشاریہ کی. 912 00:44:29,860 --> 00:44:33,900 کچھ تیرتے بات ہے کیونکہ گئی imprecision، 100.000 ہو سکتا ہے 913 00:44:33,900 --> 00:44:37,440 99،999999999 کے طور پر کی نمائندگی کی. 914 00:44:37,440 --> 00:44:40,350 اور تم سب کچھ کرنے کے لئے کاٹ اگر فورا حق، آپ جا رہے ہیں 915 00:44:40,350 --> 00:44:41,600 غلط نمبر حاصل. 916 00:44:41,600 --> 00:44:44,050 917 00:44:44,050 --> 00:44:44,180 جی ہاں. 918 00:44:44,180 --> 00:44:45,290 >> طالب علم: میں نے ایک سوال کے بارے میں ڈال. 919 00:44:45,290 --> 00:44:47,500 کیا ترتیب میں ہوتی ہے؟ 920 00:44:47,500 --> 00:44:54,480 آپ کو فلوٹ کرتے ہیں چاہتے ہیں، بریکٹ، 1 تقسیم 10 کی طرف سے، 1، 10 کی طرف سے تقسیم کرتا ہے 921 00:44:54,480 --> 00:44:58,910 اس کے بعد 0.1 حاصل، پھر باری ایک فلوٹ میں؟ 922 00:44:58,910 --> 00:45:01,470 >> JASON HIRSCHHORN: اگر آپ ایسا کرتے 10 سے 1 تقسیم فلوٹ - 923 00:45:01,470 --> 00:45:02,550 >> طالب علم: جی ہاں، اور اس کے بعد برابر - 924 00:45:02,550 --> 00:45:04,240 ٹھیک ہے، یہ عام طور پر کریں گے میں اس کے برابر ہے - 925 00:45:04,240 --> 00:45:04,690 جی ہاں. 926 00:45:04,690 --> 00:45:06,760 تم نے اسے ایک فلوٹ بنانا چاہتے ہیں، ٹھیک ہے؟ 927 00:45:06,760 --> 00:45:12,790 >> JASON HIRSCHHORN: ٹھیک ہے، تو ہم جا رہے ہیں باہر figuring میں segue کرنے کے لئے اس کا استعمال 928 00:45:12,790 --> 00:45:15,390 ان سوالات کے جوابات کوڈنگ کے ذریعے. 929 00:45:15,390 --> 00:45:18,180 شاید آپ کی ایک بہت پڑے گا ان منٹ میں سوالات، اور ایک اچھا طریقہ 930 00:45:18,180 --> 00:45:19,100 ان کو حل کرنے کی کوڈنگ کے ذریعے ہے. 931 00:45:19,100 --> 00:45:21,320 تو ہم نے، اب یہ درست کوڈ جا رہے ہیں اور پھر ہم واپس جانے کے لئے جا رہے ہیں اور کر رہے ہیں 932 00:45:21,320 --> 00:45:24,020 تم نے سوال کوڈ 933 00:45:24,020 --> 00:45:24,950 >> تو سب سے پہلے لائن - 934 00:45:24,950 --> 00:45:29,390 میں یہ لکھا ہے نہیں ہونا چاہئے - کیا ہے ہم کرنا چاہتے ہیں پہلی بات جب ہم نے 935 00:45:29,390 --> 00:45:32,250 gedit میں ایک نئی فائل کو کھولنے؟ 936 00:45:32,250 --> 00:45:34,190 >> طالب علم: شامل کریں. 937 00:45:34,190 --> 00:45:35,920 >> JASON HIRSCHHORN: کیا شامل کریں؟ 938 00:45:35,920 --> 00:45:37,952 >> طالب علم: CS50 لائبریری. 939 00:45:37,952 --> 00:45:39,920 >> JASON HIRSCHHORN: ٹھیک ہے. 940 00:45:39,920 --> 00:45:42,590 ہم اور کیا شامل کرنا چاہئے؟ 941 00:45:42,590 --> 00:45:46,820 ہم صرف کیا ہوتا ہے چیک کرنے کے لیے جا رہے ہیں اگر آپ کو فلوٹ کے لئے کچھ ڈال جب. 942 00:45:46,820 --> 00:45:48,605 لیکن کیا ہم ہیں شامل کرنے کے لئے کی ضرورت ہے سی کے ایک پروگرام لکھنے کے لئے جا رہے ہیں؟ 943 00:45:48,605 --> 00:45:49,300 >> طالب علم: سٹینڈرڈ I / O. 944 00:45:49,300 --> 00:45:50,625 >> JASON HIRSCHHORN: stdio.h کی. 945 00:45:50,625 --> 00:45:54,880 ہم اصل میں اس کے لئے، کی ضرورت نہیں ہے پروگرام، cs50.h، میں، یہ ہے کہ اگرچہ 946 00:45:54,880 --> 00:45:55,920 یہ شامل کرنے کے لئے ہمیشہ مددگار. 947 00:45:55,920 --> 00:45:58,260 لیکن ہم نے ہمیشہ stdio.h کی ضرورت ہے. 948 00:45:58,260 --> 00:45:59,660 >> طالب علم: C میں کوڈنگ ہے؟ 949 00:45:59,660 --> 00:46:15,770 >> JASON HIRSCHHORN: سی میں کوڈنگ جب 950 00:46:15,770 --> 00:46:17,090 >> تو میں نے اس. سی فائل کے طور پر اس کو بچانے. 951 00:46:17,090 --> 00:46:18,590 میں نے کچھ اچھا نحو کو اجاگر کرنے حاصل. 952 00:46:18,590 --> 00:46:22,890 میں اہم اندر باطل لکھا. 953 00:46:22,890 --> 00:46:24,792 باطل کیا مطلب ہے؟ 954 00:46:24,792 --> 00:46:26,740 >> طالب علم: کوئی لے نہیں ہے کمانڈ لائن کے دلائل. 955 00:46:26,740 --> 00:46:28,900 >> JASON HIRSCHHORN: اس میں باطل کا مطلب ہے، کیس، مرکزی کسی بھی لے نہیں ہے 956 00:46:28,900 --> 00:46:29,700 کمانڈ لائن کے دلائل. 957 00:46:29,700 --> 00:46:32,720 دیگر معاملات میں، اس تقریب کا مطلب کمانڈ لائن کے دلائل نہیں لے کرتا ہے. 958 00:46:32,720 --> 00:46:36,560 یا تقریب، میں تھے تو صفر لکھنا اہم (باطل)، یہ اہم کہیں گے 959 00:46:36,560 --> 00:46:38,460 کچھ بھی نہیں آرہے. 960 00:46:38,460 --> 00:46:39,960 تو باطل صرف کوئی مطلب نہیں ہے. 961 00:46:39,960 --> 00:46:42,510 میں تھے تو مجھے کیا لکھنا کمانڈ لائن کے دلائل لے؟ 962 00:46:42,510 --> 00:46:45,250 963 00:46:45,250 --> 00:46:47,150 >> طالب علم: INT آرک C تار آرک وی 964 00:46:47,150 --> 00:46:49,055 >> JASON HIRSCHHORN: INT جہاں argc سٹرنگ argv. 965 00:46:49,055 --> 00:46:54,050 966 00:46:54,050 --> 00:46:55,572 یہ ٹھیک ہے؟ 967 00:46:55,572 --> 00:46:58,720 >> طالب علم: یہ چار ستارہ ہے argv بریکٹ ہے. 968 00:46:58,720 --> 00:47:01,730 >> JASON HIRSCHHORN: تو آپ لکھ سکتے تھے سٹرنگ argv بریکٹ یا چار ستارہ ہے argv 969 00:47:01,730 --> 00:47:03,710 بریکٹ، لیکن آپ بریکٹ کی ضرورت ہے. 970 00:47:03,710 --> 00:47:06,290 ہے argv ایک صف ہے ڈور، یاد. 971 00:47:06,290 --> 00:47:07,360 یہ صرف ایک تار نہیں ہے. 972 00:47:07,360 --> 00:47:10,350 تو سٹرنگ argv یہاں ہے، ہے ایک سٹرنگ argv کہا جاتا ہے. 973 00:47:10,350 --> 00:47:13,630 سٹرنگ argv بریکٹ، یہاں ہے ڈور کی ایک صف. 974 00:47:13,630 --> 00:47:17,865 تو int جہاں argc سٹرنگ argv بریکٹ کچھ ہو جائے گا کہ میں 975 00:47:17,865 --> 00:47:18,810 شاید لکھنے گی. 976 00:47:18,810 --> 00:47:23,050 >> تو آپ کو ایک عدد صحیح میں کو بچانے کے لئے چاہتا تھا؟ 977 00:47:23,050 --> 00:47:24,285 >> طالب علم: جی ہاں، عددی. 978 00:47:24,285 --> 00:47:25,840 یا فلوٹ میں. 979 00:47:25,840 --> 00:47:26,710 >> JASON HIRSCHHORN: ایک فلوٹ میں؟ 980 00:47:26,710 --> 00:47:30,790 کی طرح، فلوٹ ایکس 10 سے تقسیم 1 برابر. 981 00:47:30,790 --> 00:47:32,040 >> JASON HIRSCHHORN: ٹھیک ہے. 982 00:47:32,040 --> 00:47:40,160 983 00:47:40,160 --> 00:47:42,240 کس طرح میں printf میں ایک فلوٹ کو پرنٹ کر سکتا ہوں؟ 984 00:47:42,240 --> 00:47:45,100 985 00:47:45,100 --> 00:47:46,714 کیا ہے؟ 986 00:47:46,714 --> 00:47:47,560 >> طالب علم:٪ F. 987 00:47:47,560 --> 00:47:48,300 >> JASON HIRSCHHORN:٪ F. 988 00:47:48,300 --> 00:47:50,810 ایک عدد صحیح کیا ہے؟ 989 00:47:50,810 --> 00:47:52,110 D یا میں. 990 00:47:52,110 --> 00:47:53,000 ایک تار کیا ہے؟ 991 00:47:53,000 --> 00:47:54,240 >> طالب علم: S. 992 00:47:54,240 --> 00:47:56,140 >> JASON HIRSCHHORN: S. 993 00:47:56,140 --> 00:47:57,550 میں کس طرح ایک نئی سطر میں حاصل کرتے ہیں؟ 994 00:47:57,550 --> 00:47:58,800 >> طالب علم: الٹا سلیش ن. 995 00:47:58,800 --> 00:48:04,610 996 00:48:04,610 --> 00:48:07,100 >> JASON HIRSCHHORN: میں کیا واپس کرتے ہیں اہم رنز صحیح طریقے سے تو؟ 997 00:48:07,100 --> 00:48:08,360 >> طالب علم: 0. 998 00:48:08,360 --> 00:48:09,430 میں اگرچہ، اس لائن کو لکھنے کے لئے کی ضرورت ہے؟ 999 00:48:09,430 --> 00:48:10,170 >> طالب علم: نہیں. 1000 00:48:10,170 --> 00:48:11,513 ٹھیک ہے، تو ہم، اسے لکھ نہیں کرے گا. 1001 00:48:11,513 --> 00:48:16,450 1002 00:48:16,450 --> 00:48:17,190 سب پڑھا ہے کہ کر سکتے ہیں؟ 1003 00:48:17,190 --> 00:48:18,485 یہ تھوڑا سا چھوٹا سا لگ رہا ہے. 1004 00:48:18,485 --> 00:48:20,160 سب دیکھتے ہیں، یا چاہئے کر سکتے ہیں میں نے اسے بڑا بنا؟ 1005 00:48:20,160 --> 00:48:23,480 1006 00:48:23,480 --> 00:48:25,100 میں نے کیمرے کے لئے، ہم بنا دیں گے لگتا ہے اگرچہ، یہ تھوڑا سا بڑا. 1007 00:48:25,100 --> 00:48:35,750 1008 00:48:35,750 --> 00:48:38,410 >> JASON HIRSCHHORN: میں اس تبدیل کرنے کے لئے چاہتے ہیں تو . ایک executable میں فائل C، کیا 1009 00:48:38,410 --> 00:48:39,260 میں لکھ سکتا ہوں؟ 1010 00:48:39,260 --> 00:48:41,610 >> طالب علم: ٹیسٹ بنائیں. 1011 00:48:41,610 --> 00:48:42,080 >> JASON HIRSCHHORN: معاف کیجئے گا؟ 1012 00:48:42,080 --> 00:48:42,790 >> طالب علم: ٹیسٹ بنائیں. 1013 00:48:42,790 --> 00:48:44,040 >> JASON HIRSCHHORN ٹیسٹ بنائیں. 1014 00:48:44,040 --> 00:48:46,700 1015 00:48:46,700 --> 00:48:48,410 ہم کے بارے میں بات کر رہے تھے پہلے اس لائن. 1016 00:48:48,410 --> 00:48:49,140 بجنا. 1017 00:48:49,140 --> 00:48:51,270 بجنا کیا ہے؟ 1018 00:48:51,270 --> 00:48:52,200 سنکلک کے نام پر. 1019 00:48:52,200 --> 00:48:53,920 اس لائن کیا ہے؟ 1020 00:48:53,920 --> 00:48:55,580 >> طالب علم: GDB کے استعمال کے لئے اس کا تعین کرتا ہے. 1021 00:48:55,580 --> 00:48:59,230 >> JASON HIRSCHHORN: سیٹ یہ GDB کے استعمال کے لئے. 1022 00:48:59,230 --> 00:49:02,338 یہ لائن، وہ کیا ہے؟ 1023 00:49:02,338 --> 00:49:03,290 >> طالب علم: ماخذ کوڈ. 1024 00:49:03,290 --> 00:49:06,010 >> JASON HIRSCHHORN: ہے سورس فائل، سی فائل. 1025 00:49:06,010 --> 00:49:08,150 یہ دو لائنوں میں کیا کروں؟ 1026 00:49:08,150 --> 00:49:10,245 یا ان دو نہیں کی لائنز. 1027 00:49:10,245 --> 00:49:12,300 >> طالب علم: یہ کے نام اس کی جانچ. 1028 00:49:12,300 --> 00:49:15,410 >> JASON HIRSCHHORN: تو ڈیش اے کا کہنا ہے کہ، مختلف کچھ نام. 1029 00:49:15,410 --> 00:49:16,790 اور یہاں آپ کو اس کی جانچ بلا رہے ہیں. 1030 00:49:16,790 --> 00:49:18,900 میں اس میں نہیں تھا تو، یہ کیا یہ نام کرے گا؟ 1031 00:49:18,900 --> 00:49:20,260 >> طالب علم: میں a.out. 1032 00:49:20,260 --> 00:49:22,340 >> JASON HIRSCHHORN: a.out کا. 1033 00:49:22,340 --> 00:49:25,366 یہ کیا کرتا ہے؟ 1034 00:49:25,366 --> 00:49:27,670 >> طالب علم: ریاضی کی لائبریری کا. 1035 00:49:27,670 --> 00:49:29,550 >> JASON HIRSCHHORN: یہ لنکس ریاضی کی لائبریری میں. 1036 00:49:29,550 --> 00:49:32,880 ہم ریاضی کی لائبریری میں شامل ہیں، لیکن نہیں کیا تاکہ عام ہے، وہ ہے 1037 00:49:32,880 --> 00:49:35,780 لکھا بنانے ہمیشہ شامل کرنے کے لئے ریاضی لائبریری. 1038 00:49:35,780 --> 00:49:39,050 اور اسی طرح، اس میں شامل ہیں CS50 لائبریری. 1039 00:49:39,050 --> 00:49:43,010 >> ہم نے فہرست تو ٹھیک ہے، تو، اب ہم ٹیسٹ کہا جاتا ہے ایک executable. 1040 00:49:43,010 --> 00:49:45,150 اسے پھانسی، میں نے امتحان. 1041 00:49:45,150 --> 00:49:48,330 میں اپنے سچل نقطہ دیکھتے ہیں کہ توقع کے مطابق، 0 کے برابر ہے. 1042 00:49:48,330 --> 00:49:50,890 1043 00:49:50,890 --> 00:49:51,590 کہ کرتا ہے - 1044 00:49:51,590 --> 00:49:52,060 تو - 1045 00:49:52,060 --> 00:49:55,210 >> طالب علم: کے بعد آپ کو ڈال دیا، تو اب فلوٹ کی طرح، آپ کو فلوٹ کے طور پر اس ڈالا - 1046 00:49:55,210 --> 00:49:56,870 >> JASON HIRSCHHORN: کاسٹ ایک فلوٹ 1؟ 1047 00:49:56,870 --> 00:49:59,180 >> طالب علم: نہیں، مکمل بات ڈالا - 1048 00:49:59,180 --> 00:49:59,500 جی ہاں. 1049 00:49:59,500 --> 00:50:02,460 آپ کو صرف کیا تو، گے کہ یہ 0.1 ہے؟ 1050 00:50:02,460 --> 00:50:07,170 >> JASON HIRSCHHORN: ٹھیک ہے، تو واقعی بہت تیزی سے، 1 10 سے تقسیم، ہیں 1051 00:50:07,170 --> 00:50:08,690 integers کے تقسیم کیا جا رہا ہے. 1052 00:50:08,690 --> 00:50:13,580 آپ integers تقسیم تو، وہ کر رہے ہیں 0، اور آپ کی بچت کر رہے ہیں 0 میں 1053 00:50:13,580 --> 00:50:17,170 سلیش ہے کیونکہ، تیرنے لگتے ہیں صرف عددی ڈویژن. 1054 00:50:17,170 --> 00:50:19,180 تو اب ہم کچھ تبدیل کر رہے ہیں ایک فلوٹ میں. 1055 00:50:19,180 --> 00:50:21,650 >> کیا ہوتا ہے دیکھتے ہیں. 1056 00:50:21,650 --> 00:50:22,900 ہم ٹیسٹ کر دونگا. 1057 00:50:22,900 --> 00:50:25,870 1058 00:50:25,870 --> 00:50:31,090 تو اب ہم اس سلیش نہیں تھا کہ دیکھتے ہیں عددی ڈویژن، یہ تیرتا کیا گیا 1059 00:50:31,090 --> 00:50:32,640 نقطہ ڈویژن. 1060 00:50:32,640 --> 00:50:35,700 کیونکہ اس کے دلائل میں سے ایک ایک فلوٹ پر ڈالا گیا تھا. 1061 00:50:35,700 --> 00:50:38,380 تو اب یہ اس کے علاج کے، کہہ رہا تھا ڈویژن ہم سے نمٹنے کر رہے ہیں 1062 00:50:38,380 --> 00:50:40,140 سچل پوائنٹس، نہیں integers کے ساتھ. 1063 00:50:40,140 --> 00:50:42,760 اور اس طرح ہم توقع جواب حاصل. 1064 00:50:42,760 --> 00:50:44,620 >> کیا ہوتا ہے دیکھتے ہیں - 1065 00:50:44,620 --> 00:50:47,103 افوہ. 1066 00:50:47,103 --> 00:50:51,646 میں زیادہ دشملو پرنٹ کرنے کے لئے چاہتے تھے سپاٹ، مجھے لگتا ہے کہ کس طرح کر سکتے ہیں؟ 1067 00:50:51,646 --> 00:50:55,550 >> طالب علم: پوائنٹ ڈاٹ F، یا کے طور پر کئی آپ چاہتے ہیں کے طور پر اعشاری مقامات. 1068 00:50:55,550 --> 00:51:02,280 1069 00:51:02,280 --> 00:51:04,440 >> JASON HIRSCHHORN: تو میں پرنٹ 10 دشملو کے مقامات. 1070 00:51:04,440 --> 00:51:06,610 اور ہم اب ہم ہو رہے ہیں کو دیکھنے کے کچھ عجیب چیزیں. 1071 00:51:06,610 --> 00:51:09,650 اور یہ کہ واپس آپ کے سوال پر جاتا ہے کے بارے میں بات گئی imprecision تیرتا. 1072 00:51:09,650 --> 00:51:10,950 یہاں میں محفوظ عجیب چیزیں ہے. 1073 00:51:10,950 --> 00:51:13,650 1074 00:51:13,650 --> 00:51:15,275 >> ٹھیک ہے، کہ آپ کے سوال کا جواب ہے؟ 1075 00:51:15,275 --> 00:51:18,550 1076 00:51:18,550 --> 00:51:20,200 تمہیں اور کیا چاہیے تھا فوری طور پر کوڈ کے لئے؟ 1077 00:51:20,200 --> 00:51:25,470 >> طالب علم: میں یا دیکھنا چاہتے تھے نہیں، آپ کو کچھ پوائنٹر آزاد ہیں، 1078 00:51:25,470 --> 00:51:30,410 اس پوائنٹر اب بھی میں محفوظ تھا چاہے یہ کیا گیا تھا کا پتہ 1079 00:51:30,410 --> 00:51:32,170 پہلے کی طرف اشارہ. 1080 00:51:32,170 --> 00:51:34,100 >> JASON HIRSCHHORN: ٹھیک ہے، تو ایسا کرتے ہیں. 1081 00:51:34,100 --> 00:51:38,030 چار سٹار PTR، یہ ایک متغیر کی تخلیق پروپوزل کی گذارش چار اسٹار کے PTR کہا جاتا ہے. 1082 00:51:38,030 --> 00:51:39,280 کس طرح میں malloc لکھ سکتا ہوں؟ 1083 00:51:39,280 --> 00:51:40,550 Alden؟ 1084 00:51:40,550 --> 00:51:41,800 >> ALDEN: بس malloc کی. 1085 00:51:41,800 --> 00:51:44,820 1086 00:51:44,820 --> 00:51:51,040 لیکن اس وقت اس کے سائز کا ہونا ضروری ہے، اور اس صورت میں، میں آپ کو چاہوں لگتا ہے 1087 00:51:51,040 --> 00:51:52,465 چار کی طرف اشارہ کیا جائے. 1088 00:51:52,465 --> 00:51:54,450 تو یہ چار ہو جائے گا. 1089 00:51:54,450 --> 00:51:57,520 >> JASON HIRSCHHORN: ٹھیک ہے، تو زیادہ generically، اندر - 1090 00:51:57,520 --> 00:51:58,770 کی ترمیم کرنے دے. 1091 00:51:58,770 --> 00:52:05,100 1092 00:52:05,100 --> 00:52:09,260 malloc کے اندر، آپ کا نمبر چاہتے ہیں کے ڈھیر پر بائٹس. 1093 00:52:09,260 --> 00:52:12,320 عام طور پر، کیا ہم ہیں کہ دیکھا ہے کر ہم malloc پر جا رہے ہیں 1094 00:52:12,320 --> 00:52:14,940 مثال کے طور پر ڈور،، یا integers کے arrays کے. 1095 00:52:14,940 --> 00:52:21,600 تو ہم 10 integers کے، یا 10 چاہتے ہیں تو حروف، 10 ہم 10 دے گا. 1096 00:52:21,600 --> 00:52:24,370 اور پھر حروف کے سائز دے گی ہم کہ حروف کے سائز کی، جس میں 1097 00:52:24,370 --> 00:52:25,120 اس معاملے 1 بائٹ ہے. 1098 00:52:25,120 --> 00:52:26,250 ہم 10 بائٹس حاصل. 1099 00:52:26,250 --> 00:52:28,540 ہم int کے سائز کے لکھنے کے لئے تھے، تو کہ ہمیں 40 بائٹس دے گی. 1100 00:52:28,540 --> 00:52:31,520 >> تو زیادہ generically، malloc کے اندر آپ چاہتے ہیں بائٹس کی تعداد ہے. 1101 00:52:31,520 --> 00:52:34,620 اس صورت میں، ہم 1 بائٹ ہو رہے ہیں. 1102 00:52:34,620 --> 00:52:36,900 ایک عجیب کے استعمال کی طرح لگتا ہے malloc کی کی، لیکن اس کے لئے ہمارے 1103 00:52:36,900 --> 00:52:38,470 مقاصد سمجھ میں آتا ہے. 1104 00:52:38,470 --> 00:52:40,420 تو یہ ہے. 1105 00:52:40,420 --> 00:52:43,420 >> ہم مفت کے فون کرنے جا رہے. 1106 00:52:43,420 --> 00:52:47,040 ہم اس سے چھٹکارا حاصل کریں اور ہم ایک بار پھر PTR استعمال. 1107 00:52:47,040 --> 00:52:48,750 اور آپ کو چیک کرنے کے لئے کیا چاہتے تھے؟ 1108 00:52:48,750 --> 00:52:50,550 >> طالب علم: میں صرف چیک کریں کہ کیا کرنا چاہتا تھا یا کچھ بھی نہیں تھا 1109 00:52:50,550 --> 00:52:51,900 اس کے اندر. 1110 00:52:51,900 --> 00:52:53,050 >> JASON HIRSCHHORN: چاہے تو یہ کچھ کی طرف اشارہ کیا؟ 1111 00:52:53,050 --> 00:52:57,740 >> طالب علم: جی ہاں، بالکل، چاہے یہ اب بھی ایک میموری ایڈریس تھا. 1112 00:52:57,740 --> 00:53:02,220 >> JASON HIRSCHHORN: تو آپ چاہتے ہیں PTR کی قیمت چیک کرنے کے لیے؟ 1113 00:53:02,220 --> 00:53:03,470 >> طالب علم: جی ہاں، بالکل. 1114 00:53:03,470 --> 00:53:07,940 1115 00:53:07,940 --> 00:53:10,160 >> JASON HIRSCHHORN: میں یہاں کیا لکھ سکتا ہوں میں کی قدر کی جانچ پڑتال کرنا چاہتے ہیں تو 1116 00:53:10,160 --> 00:53:11,880 نقطہ - کیا ہے، اردن قیمت، ہے؟ 1117 00:53:11,880 --> 00:53:13,720 یا کیا PTR کے اندر محفوظ کیا جاتا ہے؟ 1118 00:53:13,720 --> 00:53:14,620 >> طالب علم: ایک میموری ایڈریس. 1119 00:53:14,620 --> 00:53:16,330 >> JASON HIRSCHHORN: ایک میموری ایڈریس. 1120 00:53:16,330 --> 00:53:20,520 میں صرف یہ لکھنا تو، یہ کریں گے مجھے PTR کی قیمت دے. 1121 00:53:20,520 --> 00:53:22,800 اور میں کس طرح پرنٹ کرو ایک میموری ایڈریس؟ 1122 00:53:22,800 --> 00:53:26,470 شکل سٹرنگ کیا ہے ایک میموری ایڈریس کے لئے؟ 1123 00:53:26,470 --> 00:53:27,430 >> طالب علم: P. 1124 00:53:27,430 --> 00:53:28,050 >> JASON HIRSCHHORN: P. 1125 00:53:28,050 --> 00:53:29,500 ٪ s کو ایک تار ہے. 1126 00:53:29,500 --> 00:53:30,750 پوائنٹر کے لئے٪ P. 1127 00:53:30,750 --> 00:53:40,820 1128 00:53:40,820 --> 00:53:43,540 یہ ٹھیک ہے؟ 1129 00:53:43,540 --> 00:53:44,790 یہ درست ہے. 1130 00:53:44,790 --> 00:53:49,450 1131 00:53:49,450 --> 00:53:51,040 تو PTR برابر - 1132 00:53:51,040 --> 00:53:53,350 یہ اب بھی اس میں کچھ ہے. 1133 00:53:53,350 --> 00:53:56,110 1134 00:53:56,110 --> 00:53:57,645 شاید یہ ایک سے زیادہ ہے دلچسپ سوال. 1135 00:53:57,645 --> 00:53:59,198 اس لائن کو کیا کرتا ہے؟ 1136 00:53:59,198 --> 00:54:00,830 >> طالب علم: SEG گناہ. 1137 00:54:00,830 --> 00:54:01,310 >> JASON HIRSCHHORN: کیا؟ 1138 00:54:01,310 --> 00:54:02,678 >> طالب علم: میں نے اس کے گناہ SEG لگتا ہے. 1139 00:54:02,678 --> 00:54:03,574 >> JASON HIRSCHHORN: HM؟ 1140 00:54:03,574 --> 00:54:04,920 >> طالب علم: میں نے یہ seg غلطی گے. 1141 00:54:04,920 --> 00:54:08,265 >> JASON HIRSCHHORN: تو اس لائن کوڈ، سٹار PTR کی، کیا 1142 00:54:08,265 --> 00:54:10,152 سٹار مطلب ہے؟ 1143 00:54:10,152 --> 00:54:11,240 >> طالب علم: کے مواد. 1144 00:54:11,240 --> 00:54:11,560 >> JASON HIRSCHHORN: جی ہاں. 1145 00:54:11,560 --> 00:54:13,910 کے مواد حاصل کرنے کے لئے جاؤ. 1146 00:54:13,910 --> 00:54:16,830 تو یہ یاد کرنے کے لئے جا رہا ہے وہاں حل کرنے اور وہ مجھے دو. 1147 00:54:16,830 --> 00:54:21,030 میں یہاں٪ C استعمال کیا جاتا ہے کیونکہ وہاں حروف جمع کیے جاتے ہیں. 1148 00:54:21,030 --> 00:54:23,390 تو ہم اس کا پتہ ہم پر جانے کے لئے جا رہے ہیں ابھی دیکھا - یا شاید یہ ایک ہو جائے گا 1149 00:54:23,390 --> 00:54:25,190 تھوڑا سا مختلف اس ہم پروگرام کو چلانے کے وقت. 1150 00:54:25,190 --> 00:54:28,010 لیکن ہم اس پتے پر جائیں گے ہم اب بھی موجود ہے جانتے ہیں 1151 00:54:28,010 --> 00:54:29,260 اور وہاں کیا ہے دیکھنے. 1152 00:54:29,260 --> 00:54:35,640 1153 00:54:35,640 --> 00:54:37,110 >> تو یہ seg غلطی نہیں کی تھی. 1154 00:54:37,110 --> 00:54:38,970 یہ صرف ہمیں کچھ نہیں دیا. 1155 00:54:38,970 --> 00:54:43,350 یہ اصل میں ہمیں دیا ہے ہو سکتا ہے کچھ، ہم صرف اسے دیکھ نہیں سکتے. 1156 00:54:43,350 --> 00:54:45,110 اور یہ کہ اس خیال کو جاتا ہے - 1157 00:54:45,110 --> 00:54:47,270 اور ہم میں بہت زیادہ حاصل کرنے کے لئے نہیں جا رہے ہیں یہ، اس کے بعد ہے کیونکہ 1158 00:54:47,270 --> 00:54:48,460 اس کورس کے دائرہ کار. 1159 00:54:48,460 --> 00:54:51,260 ہم لیکن اگر ہم، یہاں کے بارے میں بات کی طرف سے صف کی حد سے باہر چلا گیا 1160 00:54:51,260 --> 00:54:54,890 1، ہم مصیبت میں حاصل نہیں کر سکتے. 1161 00:54:54,890 --> 00:54:58,550 >> کبھی کبھی، آپ کو صرف 1 کی طرف سے جب، آپ کچھ غلط کر رہے ہیں، اور 1162 00:54:58,550 --> 00:54:59,220 مصیبت میں حاصل کر سکتے ہیں. 1163 00:54:59,220 --> 00:55:00,820 لیکن تم نے ہمیشہ مصیبت میں حاصل نہیں ہے. 1164 00:55:00,820 --> 00:55:05,170 یہ انحصار کرتا ہے کتنی بری بات کی آپ ، اگر آپ کو مصیبت میں حاصل کرنے کے لئے جا رہے ہیں. 1165 00:55:05,170 --> 00:55:07,790 میلا ہو، کا کہنا ہے کہ نہیں ہے آپ کوڈ کے ساتھ. 1166 00:55:07,790 --> 00:55:12,080 لیکن یہ پروگرام نہیں کریں گے، کہنا ہے آپ کو کہیں جانا یہاں تک کہ اگر ہمیشہ، چھوڑ 1167 00:55:12,080 --> 00:55:14,130 آپ کو جانا نہیں کر رہے ہیں. 1168 00:55:14,130 --> 00:55:18,170 >> اس کی ایک اچھی مثال، کی ایک بہت ہے ان کا مسئلہ میں لوگوں کے، 3 سیٹ جس 1169 00:55:18,170 --> 00:55:22,350 15، کی جانچ پڑتال نہیں کیا گیا تھا بورڈ کی حد. 1170 00:55:22,350 --> 00:55:25,860 تو آپ کو دیکھا، بائیں دیکھا حق، دیکھا، اوپر دیکھا 1171 00:55:25,860 --> 00:55:27,000 سب سے نیچے دیئے. 1172 00:55:27,000 --> 00:55:31,540 لیکن آپ کو دیکھنے کے لئے چیک کرنے کے لیے نہیں کیا تو سب سے اوپر اصل میں بورڈ پر جا رہا تھا. 1173 00:55:31,540 --> 00:55:35,220 اور یہ کہ کیا ان لوگوں کے جو ایک بہت ہے اور کہ میں تبدیل کر دیا، ان کے پروگرام کام 1174 00:55:35,220 --> 00:55:38,960 بالکل، کہ جہاں بورڈ تھا کیونکہ آپ کو ایک چلا گیا، تو میموری میں محفوظ 1175 00:55:38,960 --> 00:55:42,300 اس کے اوپر یا جانچ پڑتال کہ میموری پتہ، کچھ بھی نہیں تھا 1176 00:55:42,300 --> 00:55:44,870 اس کے بارے میں خاص طور پر خوفناک، تو آپ کے پروگرام نہیں تھا 1177 00:55:44,870 --> 00:55:45,970 آپ کو چللاو جا. 1178 00:55:45,970 --> 00:55:48,870 >> لیکن ہم اب بھی پوائنٹس سے دور لے جائے گا اگر آپ چیک کریں کہ نہیں تھا آپ کی وجہ سے 1179 00:55:48,870 --> 00:55:50,850 تم نہیں تھے کچھ کر رہے تھے کرنا، اور آپ کر سکتے ہیں 1180 00:55:50,850 --> 00:55:51,860 مصیبت میں ہو. 1181 00:55:51,860 --> 00:55:54,040 مشکلات تو شاید آپ نے نہیں کیا، اگرچہ، ہیں. 1182 00:55:54,040 --> 00:55:57,790 تو یہ، جی ہاں، یہ دکھانے کے لئے ہے ہم اب بھی اس کے لئے جا سکتے ہیں. 1183 00:55:57,790 --> 00:55:59,010 اور ہم میں حاصل نہیں کر رہے ہیں اس معاملے میں مصیبت. 1184 00:55:59,010 --> 00:56:04,000 ہم پڑھتے ہیں کرنے کی کوشش کی تو اگلا 100 سے کم حروف، کہ ہم 1185 00:56:04,000 --> 00:56:06,000 شاید مصیبت میں ملتا ہے. 1186 00:56:06,000 --> 00:56:09,400 اور آپ کو اگلے 100 پڑھنے کوڈ کر سکتے ہیں حروف آپ کو کچھ کرنے کی طرف سے کرنا چاہتے ہیں تو 1187 00:56:09,400 --> 00:56:10,110 قسم کے لوپ کے لئے. 1188 00:56:10,110 --> 00:56:10,850 جی ہاں. 1189 00:56:10,850 --> 00:56:16,250 >> طالب علم: ہم تفویض کئے گئے تھے کے بعد کہ خلائی ایک حقیقی قیمت، ہم نہیں کریں گے 1190 00:56:16,250 --> 00:56:17,050 اصل میں کچھ بھی دیکھنے کے لئے کے قابل ہو جائے. 1191 00:56:17,050 --> 00:56:21,740 ہم ترتیب کے ساتھ اس کی کوشش کرنی چاہئے C یا کچھ اور طرح کے برابر ہے؟ 1192 00:56:21,740 --> 00:56:22,640 >> JASON HIRSCHHORN: بڑا سوال. 1193 00:56:22,640 --> 00:56:25,340 میں کس طرح ہے کہ قیمت مقرر کرتے ہیں - 1194 00:56:25,340 --> 00:56:28,980 جو کوڈ کے مطابق میں لائن پر لکھ سکتا ہوں سات تم نے کہا کیا ہے؟ 1195 00:56:28,980 --> 00:56:34,040 >> طالب علم: سٹار PTR ایک کے برابر ہے اقتباس ایک اقتباس ختم ج. 1196 00:56:34,040 --> 00:56:36,970 >> JASON HIRSCHHORN: تو یہ ڈال ہے ایک کردار، C، اس مقام پر، 1197 00:56:36,970 --> 00:56:40,200 کیونکہ ایک بار پھر، کہ ستارہ وہاں جانے کا مطلب ہے. 1198 00:56:40,200 --> 00:56:43,320 اور بائیں ہاتھ کی طرف سے استعمال کیا جاتا ہے جب ایک تفویض آپریٹر، کہ برابر 1199 00:56:43,320 --> 00:56:47,270 سائن ان کریں، ہم حاصل کرنے کے لئے نہیں کر رہے ہیں کہ قدر ہے کہ قیمت مقرر کے طور پر اتنا. 1200 00:56:47,270 --> 00:56:48,520 اب دیکھتے ہیں کیا ہوتا. 1201 00:56:48,520 --> 00:56:54,700 1202 00:56:54,700 --> 00:56:56,770 >> ہم وہاں کچھ ڈال اور یہ وہاں تھا. 1203 00:56:56,770 --> 00:56:58,000 ہم ڈاؤن لوڈ، اتارنا ملاقات کی. 1204 00:56:58,000 --> 00:57:00,100 کچھ چیزیں شاید ہوا ڈھیر پر. 1205 00:57:00,100 --> 00:57:01,890 تو یہ وہاں نہیں ہے. 1206 00:57:01,890 --> 00:57:07,440 لیکن پھر، ہم نہیں مل رہے ہیں وہاں جا کے لئے مصیبت میں. 1207 00:57:07,440 --> 00:57:10,260 >> میں وضاحت کرنے کے لئے کوڈ میں یہ کر رہا ہوں کہ ان کی ایک بہت 1208 00:57:10,260 --> 00:57:12,410 ہے کہ آپ کے سوالات، وہ کر رہے ہیں واقعی دلچسپ 1209 00:57:12,410 --> 00:57:13,650 وقت کی ایک بہت کا جواب ہے. 1210 00:57:13,650 --> 00:57:15,260 اور وہ واقعی اچھے سوالات ہیں. 1211 00:57:15,260 --> 00:57:19,010 اور تم پر ان کے اعداد و شمار کر سکتے ہیں آپ کے مالک ہیں، مثال کے طور پر، 1212 00:57:19,010 --> 00:57:19,990 ہم کے حصے میں نہیں ہیں. 1213 00:57:19,990 --> 00:57:20,940 جی ہاں. 1214 00:57:20,940 --> 00:57:24,430 >> طالب علم: اگر آپ کو نہیں بھیج رہے ہیں کہیں بھی اشارہ ہے، آپ کو کرنے کی ضرورت ہے 1215 00:57:24,430 --> 00:57:26,530 malloc کا استعمال کرتے ہیں؟ 1216 00:57:26,530 --> 00:57:28,400 >> JASON HIRSCHHORN: تو یہ واپس چلا جاتا ہے آپ کے ابتدائی سوال. 1217 00:57:28,400 --> 00:57:28,620 [؟ ؟] 1218 00:57:28,620 --> 00:57:29,980 یہ صرف ایک مقامی متغیر ہے؟ 1219 00:57:29,980 --> 00:57:32,280 یہاں MALLOC مجبور نہیں ہے. 1220 00:57:32,280 --> 00:57:35,260 یہاں malloc کے کا استعمال نہیں ہے یہ ہے اس کی وجہ سے مجبور 1221 00:57:35,260 --> 00:57:36,500 صرف ایک مقامی متغیر. 1222 00:57:36,500 --> 00:57:40,970 >> طالب علم: تو تم چار کر سکتے ہیں سٹار PTR خوش برابر ہے؟ 1223 00:57:40,970 --> 00:57:41,400 >> JASON HIRSCHHORN: اوہ. 1224 00:57:41,400 --> 00:57:43,300 تو اب ہم واپس حاصل کرنے کے لئے جا رہے ہیں آپ کے ابتدائی سوال. 1225 00:57:43,300 --> 00:57:46,885 میں نے تم سے مطمئن نہیں تھے میرے جواب کے ساتھ. 1226 00:57:46,885 --> 00:57:48,220 ٹھیک ہے؟ 1227 00:57:48,220 --> 00:57:49,226 کی طرح؟ 1228 00:57:49,226 --> 00:57:49,682 >> طالب علم: جی ہاں. 1229 00:57:49,682 --> 00:57:50,932 انتظار کریں. 1230 00:57:50,932 --> 00:57:54,090 1231 00:57:54,090 --> 00:57:57,850 >> JASON HIRSCHHORN: اور جہاں آپ کو پرنٹ کرنے کے لئے چاہتے ہیں؟ 1232 00:57:57,850 --> 00:58:00,026 تو ہم اس طرح ایک سٹرنگ پرنٹ گا؟ 1233 00:58:00,026 --> 00:58:06,380 1234 00:58:06,380 --> 00:58:07,630 >> طالب علم: دلچسپ. 1235 00:58:07,630 --> 00:58:09,900 1236 00:58:09,900 --> 00:58:14,285 >> JASON HIRSCHHORN: تو اس کا کہنا ہے کہ دلیل ایک کردار کی قسم ہے. 1237 00:58:14,285 --> 00:58:17,200 1238 00:58:17,200 --> 00:58:18,620 تو یہ ایک کردار ہونا چاہئے. 1239 00:58:18,620 --> 00:58:25,170 1240 00:58:25,170 --> 00:58:26,280 >> طالب علم: بس سب سے پہلے لیتا ہے. 1241 00:58:26,280 --> 00:58:28,610 >> JASON HIRSCHHORN: تو یہ میں نے پہلے کہا ہے. 1242 00:58:28,610 --> 00:58:34,240 جیسا کہ میں ذخیرہ کرنے نہیں ہے، انہوں نے کہا کہ متغیر پوائنٹر کے اندر سٹرنگ. 1243 00:58:34,240 --> 00:58:35,120 ذخیرہ کرنے ہے - 1244 00:58:35,120 --> 00:58:36,350 >> طالب علم: پہلی قیمت تار کی. 1245 00:58:36,350 --> 00:58:40,810 >> JASON HIRSCHHORN: ایڈریس کی تار کی پہلی قیمت. 1246 00:58:40,810 --> 00:58:46,940 ہم اس کو پرنٹ کرنے کے لئے تھے، ہم پوائنٹر کے اندر قیمت حاصل. 1247 00:58:46,940 --> 00:58:51,005 اور ہم، یہ واقعی، ہے نظر آئے گا ایک میموری ایڈریس. 1248 00:58:51,005 --> 00:58:53,595 1249 00:58:53,595 --> 00:58:56,440 >> احساس ہے کہ ہے؟ 1250 00:58:56,440 --> 00:58:56,940 معذرت. 1251 00:58:56,940 --> 00:58:58,996 کہ آپ کا جواب ہے، انتظار کریں سوال، اگرچہ؟ 1252 00:58:58,996 --> 00:58:59,790 >> طالب علم: جی ہاں. 1253 00:58:59,790 --> 00:59:05,830 >> JASON HIRSCHHORN: کوڈ کے اس لائن ہے ایک تار اور پھر دوسرے پیدا 1254 00:59:05,830 --> 00:59:09,115 کی طرف اشارہ ہے کہ متغیر پوائنٹر کہ سٹرنگ کرنے کے لئے، اس صف. 1255 00:59:09,115 --> 00:59:14,320 1256 00:59:14,320 --> 00:59:14,980 جی ہاں. 1257 00:59:14,980 --> 00:59:19,200 >> ہم ایک میموری گیا تو اگر: طالب علم مزید پتہ، ہم ایچ ملے گا؟ 1258 00:59:19,200 --> 00:59:21,990 1259 00:59:21,990 --> 00:59:23,150 یہ ایک تار کے طور پر محفوظ کیا گیا ہے؟ 1260 00:59:23,150 --> 00:59:24,400 >> JASON HIRSCHHORN: کی طرح، ہم نے کیا - 1261 00:59:24,400 --> 00:59:28,540 1262 00:59:28,540 --> 00:59:30,790 تو ایسا قابل قدر ہے. 1263 00:59:30,790 --> 00:59:33,780 یہ نقطہ ریاضی، جس میں تم لوگوں کو ہے اس سے پہلے دیکھا ہے اور ہونا چاہئے 1264 00:59:33,780 --> 00:59:35,550 کے ساتھ نسبتا آرام دہ اور پرسکون. 1265 00:59:35,550 --> 00:59:36,905 اس تحریر سے ماخوذ ہے - 1266 00:59:36,905 --> 00:59:41,980 1267 00:59:41,980 --> 00:59:46,350 ہم نے کوڈ کی اس لائن لکھنے کے لئے تھے، تو ہم نے پہلے سرنی سنکیتن دیکھا ہے. 1268 00:59:46,350 --> 00:59:55,900 اس سے ہمیں دوسری دینا چاہئے اس صف، ایچ میں قیمت. 1269 00:59:55,900 --> 01:00:05,010 >> ہم نے یہ کیا ہے، تو یہ بھی دینا چاہئے ہم اس صف میں دوسری قیمت. 1270 01:00:05,010 --> 01:00:08,320 یہ یاد کرنے کے لئے نہیں جا رہا ہے کیونکہ پہلی بات کا پتہ، لیکن 1271 01:00:08,320 --> 01:00:10,530 ایک سے زیادہ بات کی یاد ایڈریس. 1272 01:00:10,530 --> 01:00:14,360 اور پھر سٹار آپریٹر dereferences کی اس پوائنٹر. 1273 01:00:14,360 --> 01:00:16,940 اور پھر، چلو دیکھتے ہیں. 1274 01:00:16,940 --> 01:00:18,664 ہم پھر H حاصل. 1275 01:00:18,664 --> 01:00:20,980 >> طالب علم: کیا بالکل کرتا ہے مطلب dereference؟ 1276 01:00:20,980 --> 01:00:23,650 >> JASON HIRSCHHORN: Dereference پر جانے کے لئے ایک پسند ہیں لفظ ہے. 1277 01:00:23,650 --> 01:00:26,390 کہ جاؤ اور وہاں کیا حاصل ایک پوائنٹر dereference ہے. 1278 01:00:26,390 --> 01:00:28,240 یہ اس کے لئے صرف ایک پسند ہیں لفظ ہے. 1279 01:00:28,240 --> 01:00:29,986 >> ہم پرنٹ کرنا چاہتا تھا تو: طالب علم پورے سٹرنگ، کر سکتے تھے ہم 1280 01:00:29,986 --> 01:00:31,930 ایمپرسینڈ پوائنٹر کرتے ہیں؟ 1281 01:00:31,930 --> 01:00:33,490 >> JASON HIRSCHHORN: ٹھیک ہے، ہم ہیں یہاں کو روکنے کے لئے جا رہا. 1282 01:00:33,490 --> 01:00:35,480 ہم یہاں ختم کرنے کے لئے جا رہے ہیں. 1283 01:00:35,480 --> 01:00:41,760 ایمپرسینڈ آپ کو ایک کا پتہ دیتا ہے مقام، تو جب تم میں سے ایمپرسینڈ کرنا 1284 01:00:41,760 --> 01:00:44,080 ایک متغیر، یہ آپ کا پتہ دیتا ہے کہ متغیر محفوظ کیا جاتا ہے، جہاں. 1285 01:00:44,080 --> 01:00:48,580 ایمپرسینڈ پوائنٹر آپ کو دے گا PTR یاد میں ہے جہاں PTR کا پتہ. 1286 01:00:48,580 --> 01:00:50,140 >> ہم پر جانے کے لئے نہیں جا رہے ہیں اس مثال کے ساتھ. 1287 01:00:50,140 --> 01:00:52,640 آپ کو ان اعداد و شمار کر سکتے ہیں اپنے اپنے طور پر چیزیں. 1288 01:00:52,640 --> 01:00:55,740 لیکن پھر یہ بھی ایک verging ہو سکتا ہے آپ کے لئے جاننے کی ضرورت ہے سے باہر تھوڑا سا 1289 01:00:55,740 --> 01:00:58,000 یہ وسط مدتی کی گنجائش - 1290 01:00:58,000 --> 01:00:59,070 یا اس کوئز، بلکہ. 1291 01:00:59,070 --> 01:01:00,270 معذرت. 1292 01:01:00,270 --> 01:01:03,770 >> میں کروں گا کیونکہ ہم، پر منتقل کرنے کے لئے جا رہے ہیں ایک کوڈنگ مسئلہ کرنا پسند 1293 01:01:03,770 --> 01:01:05,100 وقت ہے اس سے پہلے. 1294 01:01:05,100 --> 01:01:09,340 اور ہم میں کیا سوچتے کوڈ جا رہے ہیں ان میں سے سب سے زیادہ مجبور ہے 1295 01:01:09,340 --> 01:01:11,020 مثالیں، atoi. 1296 01:01:11,020 --> 01:01:14,520 تو اس پر ایک سوال یہ تھا دو سال پہلے کوئز. 1297 01:01:14,520 --> 01:01:17,810 اور میں یہاں بورڈ پر ہے. 1298 01:01:17,810 --> 01:01:20,680 >> لوگ گئے تمام سوالات پر کہا گیا تھا - 1299 01:01:20,680 --> 01:01:23,640 وہ میں تھوڑا زیادہ tesxt دیا گیا سوال، لیکن میں ختم 1300 01:01:23,640 --> 01:01:26,640 کہ یہ ضروری تھا کیونکہ متن اب ہمارے مقاصد کے لئے. 1301 01:01:26,640 --> 01:01:29,180 یہ صرف کچھ پس منظر تھا کیا کیا atoi پر. 1302 01:01:29,180 --> 01:01:31,425 لیکن آپ سب جانتے ہیں اور بہت atoi سے واقف. 1303 01:01:31,425 --> 01:01:35,620 >> میں آپ کو یہ کوڈ کا مشورہ کاغذ کی ایک شیٹ پر. 1304 01:01:35,620 --> 01:01:39,310 میں بھی آپ کو حکمت عملی کا استعمال کا مشورہ دیتے ہیں ہم ختم ہو گیا ہے کہ 1305 01:01:39,310 --> 01:01:41,040 ہمارے حصے میں ایک بہت. 1306 01:01:41,040 --> 01:01:44,130 سب سے پہلے، یقینی بنائیں کہ آپ کو سمجھانے کیا atoi کی کر. 1307 01:01:44,130 --> 01:01:47,580 ایک تصویر اپنی طرف متوجہ یا کچھ کے ساتھ آئے آپ کے سر میں اس کے ذہنی تصویر. 1308 01:01:47,580 --> 01:01:51,120 اگلا، اس کے لئے pseudocode لکھنے. 1309 01:01:51,120 --> 01:01:53,120 گئے تمام سوالات پر، آپ کو ملتا ہے تو pseudocode، کم از کم آپ 1310 01:01:53,120 --> 01:01:54,550 کچھ نیچے رکھ. 1311 01:01:54,550 --> 01:02:00,070 اور پھر پر کہ pseudocode نقشہ سی آپ میں ایک چیک ہے تو آپ 1312 01:02:00,070 --> 01:02:03,760 pseudocode، طرح چیک کریں، تو کچھ 1، کہ ایک تو پر نقشے ہے 1313 01:02:03,760 --> 01:02:05,750 وغیرہ حالت اور. 1314 01:02:05,750 --> 01:02:07,850 اور آخر میں، سی میں پروگرام کے کوڈ 1315 01:02:07,850 --> 01:02:15,000 >> تو واپس atoi کے پاس جاؤ اور پانچ منٹ لے کی ایک شیٹ پر اس کوڈ کو کے لئے 1316 01:02:15,000 --> 01:02:19,480 کے بارے میں شاید ہے جو کاغذ، اگر آپ کو ایک پر لے جائے گا وقت کی رقم 1317 01:02:19,480 --> 01:02:21,260 کوڈ atoi کے لئے کوئز. 1318 01:02:21,260 --> 01:02:27,060 پانچ سے 15 منٹ، پانچ پانچ، 12 10 منٹ، رقم کے بارے میں ہے 1319 01:02:27,060 --> 01:02:30,150 آپ کو اس پر خرچ کروں گا وقت کوئز میں سوال. 1320 01:02:30,150 --> 01:02:31,670 تو، اب پانچ منٹ براہ مہربانی لے. 1321 01:02:31,670 --> 01:02:35,957 اور آپ کسی بھی سوال ہے تو، میں اضافہ آپ کے ہاتھ اور میں کے ارد گرد آئے گا. 1322 01:02:35,957 --> 01:06:39,570 1323 01:06:39,570 --> 01:06:41,066 >> [ضمنی CONVERSATIONS] 1324 01:06:41,066 --> 01:08:35,279 1325 01:08:35,279 --> 01:08:37,580 >> JASON HIRSCHHORN: ٹھیک ہے، تو کہ پانچ منٹ تھا. 1326 01:08:37,580 --> 01:08:39,880 اس رقم کے بارے میں شاید تھا وقت آپ کو، ایک گئے تمام سوالات پر اس پر خرچ کروں گا 1327 01:08:39,880 --> 01:08:42,120 اس وقت شاید کم اختتام. 1328 01:08:42,120 --> 01:08:44,010 ہم تھوڑا سا میں recap گے. 1329 01:08:44,010 --> 01:08:45,740 ہمیں اس کوڈنگ شروع. 1330 01:08:45,740 --> 01:08:49,479 اور ہم سب کے راستے کے ذریعے حاصل نہیں کرتے ہیں تو، اس کے جواب اور اس 1331 01:08:49,479 --> 01:08:54,189 کوئز سوال ایک بار پھر، دستیاب ہیں، موسم خزاں 2011 اس سوال کا ہے جب 1332 01:08:54,189 --> 01:08:54,913 کوئز پر شائع. 1333 01:08:54,913 --> 01:08:57,830 >> اور یہ آٹھ پوائنٹس کے قابل تھا کوئز پھر. 1334 01:08:57,830 --> 01:09:01,140 آٹھ پوائنٹس کے اعلی کے آخر پر ہے پوائنٹس کچھ کی رقم کے قابل ہے. 1335 01:09:01,140 --> 01:09:04,790 سب سے زیادہ سوالات رینج میں ہیں ایک سے چھ پوائنٹس کی. 1336 01:09:04,790 --> 01:09:08,500 تو یہ ایک زیادہ مشکل ہے اس بات کا یقین کے لئے سوال،. 1337 01:09:08,500 --> 01:09:09,750 مجھے کسی کو شروع کرنے کے لئے کر سکتے ہیں؟ 1338 01:09:09,750 --> 01:09:13,260 1339 01:09:13,260 --> 01:09:15,380 >> عام طور پر، کیا ہم جا رہے ہیں اس کے ساتھ کیا کرنا چاہتے ہیں کے لئے 1340 01:09:15,380 --> 01:09:17,550 منطقی طور پر، atoi تقریب؟ 1341 01:09:17,550 --> 01:09:19,569 ہم کیا کرنا چاہتے ہیں؟ 1342 01:09:19,569 --> 01:09:22,279 تو ہم نے لکھنے کے لئے جا رہے ہیں کچھ pseudocode. 1343 01:09:22,279 --> 01:09:24,090 >> طالب علم: حروف میں تبدیل integers کے میں. 1344 01:09:24,090 --> 01:09:26,700 >> JASON HIRSCHHORN: حروف میں تبدیل integers کے میں. 1345 01:09:26,700 --> 01:09:27,479 ٹھیک ہے. 1346 01:09:27,479 --> 01:09:30,870 تو کس طرح بہت سے حروف ہم ہیں کے ذریعے جانا کرنے کی ضرورت ہے کرنے کے لئے جا رہے ہیں؟ 1347 01:09:30,870 --> 01:09:32,295 >> طالب علم: ان میں سے سب. 1348 01:09:32,295 --> 01:09:34,100 >> طالب علم: تمام حروف تار میں. 1349 01:09:34,100 --> 01:09:35,540 >> JASON HIRSCHHORN: تمام سٹرنگ میں حروف. 1350 01:09:35,540 --> 01:09:42,180 ہم ہر کے ذریعے جانے کے لئے کرنا چاہتا تھا اگر ایسا ہے تو ایک تار میں کردار، ایک بات کیا ہے 1351 01:09:42,180 --> 01:09:44,560 C میں ہم اجازت دی ہے دیکھا ہے ہمیں ہر ذریعے جانے کے لئے 1352 01:09:44,560 --> 01:09:45,939 ایک تار میں کردار؟ 1353 01:09:45,939 --> 01:09:46,819 >> طالب علموں: لوپ کے لئے ایک. 1354 01:09:46,819 --> 01:09:48,069 >> JASON HIRSCHHORN: لوپ کے لئے ایک. 1355 01:09:48,069 --> 01:09:52,020 1356 01:09:52,020 --> 01:09:55,330 تو ہم کے ذریعے لوپ کرنے جا رہے ہیں ے میں ہر کردار. 1357 01:09:55,330 --> 01:10:00,940 >> پھر کیا ہم کرنا چاہتے ہیں جا رہے ہیں ہم ایک مخصوص کردار حاصل ہے؟ 1358 01:10:00,940 --> 01:10:02,480 ہم نے ایک 90 منظور ہو رہی کر رہے ہیں. 1359 01:10:02,480 --> 01:10:03,460 ہم 9 حاصل. 1360 01:10:03,460 --> 01:10:04,240 یہ ایک کردار ہے. 1361 01:10:04,240 --> 01:10:07,440 کیا ہم کے ساتھ کیا کرنا چاہتے ہیں اس کردار 9؟ 1362 01:10:07,440 --> 01:10:10,082 >> طالب علم: کردار 0 سے تفریق؟ 1363 01:10:10,082 --> 01:10:11,860 >> طالب علم: 0 شامل؟ 1364 01:10:11,860 --> 01:10:13,350 >> JASON HIRSCHHORN: تفریق کردار 0 سے؟ 1365 01:10:13,350 --> 01:10:13,800 >> طالب علم: جی ہاں. 1366 01:10:13,800 --> 01:10:15,573 >> JASON HIRSCHHORN: کیوں اگر آپ ایسا کرنا چاہتے ہیں؟ 1367 01:10:15,573 --> 01:10:16,560 >> طالب علم: [اشراوی] 1368 01:10:16,560 --> 01:10:17,010 قیمت. 1369 01:10:17,010 --> 01:10:18,380 اس INT قیمت. 1370 01:10:18,380 --> 01:10:21,580 >> JASON HIRSCHHORN: ٹھیک ہے، تو ہم لے کردار 9، سے منہا 1371 01:10:21,580 --> 01:10:25,820 کردار 0 ایک حاصل کرنے کے لئے اصل عددی 9. 1372 01:10:25,820 --> 01:10:27,070 میٹھی. 1373 01:10:27,070 --> 01:10:31,255 1374 01:10:31,255 --> 01:10:37,000 اور تم کس طرح کہ کردار جانتے ہیں 9 0 منفی کردار 9 ہے؟ 1375 01:10:37,000 --> 01:10:39,222 آپ کو کیا چارٹ دیکھا؟ 1376 01:10:39,222 --> 01:10:43,130 >> طالب علم: نو منطقی ہیں 9 اور 0 کے درمیان مقامات. 1377 01:10:43,130 --> 01:10:44,620 یا آپ ASCII میز پر دیکھ سکتا ہے. 1378 01:10:44,620 --> 01:10:45,120 >> JASON HIRSCHHORN: ASCII ٹیبل. 1379 01:10:45,120 --> 01:10:46,490 لیکن ہاں، آپ کے ساتھ ساتھ درست ہے. 1380 01:10:46,490 --> 01:10:47,780 تو ہم 0 منہا. 1381 01:10:47,780 --> 01:10:49,010 تو اب ہم عددی 9 ہے. 1382 01:10:49,010 --> 01:10:49,970 اور کیا ہم اس کے ساتھ کیا کرنا چاہتے ہیں؟ 1383 01:10:49,970 --> 01:10:54,970 ہم 90 ہے، تو یہ سب سے پہلے عددی ہے ہم کیا کرنا چاہتے ہے؟ 1384 01:10:54,970 --> 01:10:58,180 >> طالب علم: میں نے ایک عارضی عددی میں ڈال دیا تھا صف، پھر اس کے لئے ریاضی کرتے 1385 01:10:58,180 --> 01:11:02,088 بعد میں ایک کے آخر میں بنانے کے لئے. 1386 01:11:02,088 --> 01:11:03,020 >> JASON HIRSCHHORN: ٹھیک ہے. 1387 01:11:03,020 --> 01:11:06,990 >> طالب علم: آپ کے آخر میں شروع کر سکتے ہیں پھر صف اور تو آگے بڑھنے 1388 01:11:06,990 --> 01:11:10,350 کہ آپ کو آگے بڑھنے کے لئے ہر وقت، آپ کو 10 سے گنا. 1389 01:11:10,350 --> 01:11:10,830 >> JASON HIRSCHHORN: ٹھیک ہے. 1390 01:11:10,830 --> 01:11:12,250 یہ ایک بہت کی طرح لگتا ہے مجبور خیال. 1391 01:11:12,250 --> 01:11:16,040 ہم ہمارے صف کے آخر میں شروع کر سکتے ہیں، اور ہم strleng استعمال کر سکتے ہیں. 1392 01:11:16,040 --> 01:11:17,030 ہم یہاں strleng استعمال کر سکتے ہیں. 1393 01:11:17,030 --> 01:11:18,870 ہم اپنے سٹرنگ کی لمبائی کو حاصل کریں گے. 1394 01:11:18,870 --> 01:11:20,100 ہم آخر میں شروع. 1395 01:11:20,100 --> 01:11:29,170 اور + سب سے پہلے، ہم صرف لے کہ عددی، اور شاید ہم ایک طرح کی تخلیق 1396 01:11:29,170 --> 01:11:32,270 نئے عددی متغیر اوپر جہاں ہم سب کچھ ذخیرہ کرنے کر رہے. 1397 01:11:32,270 --> 01:11:37,340 سے ے میں ہر چار کے ذریعے تو ہم لوپ واپس سامنے، ہم 0 منہا، اور 1398 01:11:37,340 --> 01:11:42,790 تو پھر ہم اسے لے لو، اور پر منحصر ہے وہ کہاں ہے، ہم اسے ضرب 1399 01:11:42,790 --> 01:11:45,860 10 کے ایک طاقت کی طرف سے. 1400 01:11:45,860 --> 01:11:50,644 کیونکہ سب سے پہلے، کیا ہم کرتے ہیں rightmost کردار کی طرف سے ضرب؟ 1401 01:11:50,644 --> 01:11:51,440 >> طالب علم: 0 10. 1402 01:11:51,440 --> 01:11:53,170 >> JASON HIRSCHHORN: 0 10. 1403 01:11:53,170 --> 01:11:56,010 ہم دوسرے کیا ضرب کرتے ہیں rightmost کردار کی طرف سے؟ 1404 01:11:56,010 --> 01:11:57,450 >> طالب علم: [اشراوی]. 1405 01:11:57,450 --> 01:11:57,960 >> JASON HIRSCHHORN: کیا؟ 1406 01:11:57,960 --> 01:11:59,150 >> طالب علم: 1 10. 1407 01:11:59,150 --> 01:12:00,420 >> JASON HIRSCHHORN: 1 10. 1408 01:12:00,420 --> 01:12:03,754 تیسری rightmost کردار؟ 1409 01:12:03,754 --> 01:12:04,580 >> طالب علم: 2 10. 1410 01:12:04,580 --> 01:12:05,350 >> JASON HIRSCHHORN: 2 10. 1411 01:12:05,350 --> 01:12:07,200 >> طالب علم: معذرت، میں نہیں سمجھتا ہم یہاں کیا کر رہے ہیں. 1412 01:12:07,200 --> 01:12:08,640 >> JASON HIRSCHHORN: ٹھیک ہے، پھر، واپس جانے. 1413 01:12:08,640 --> 01:12:12,500 تو ہم نے حاصل کرنے کے لئے جا رہے ہیں ایک سٹرنگ میں منظور. 1414 01:12:12,500 --> 01:12:14,470 ہم atoi لکھ رہے ہیں کیونکہ. 1415 01:12:14,470 --> 01:12:15,260 تو ہم نے ایک سٹرنگ میں منظور ہو. 1416 01:12:15,260 --> 01:12:17,640 ہم منظور ہو رہی کر رہے ہیں سٹرنگ 90 میں. 1417 01:12:17,640 --> 01:12:19,930 >> ہم کیا کرنے جا رہے ہیں سب سے پہلی چیز مقرر کیا گیا ہے ہم ہیں کہ ایک نئے عددی متغیر 1418 01:12:19,930 --> 01:12:22,150 صرف پیدا کرنے والا ہمارے نئے عددی طور پر. 1419 01:12:22,150 --> 01:12:24,630 کہ ہم جا رہے ہیں آخر میں واپس کرنے کے لئے. 1420 01:12:24,630 --> 01:12:30,110 ہم میں ہر کردار کے ذریعے جانا کرنے کی ضرورت ہے سٹرنگ ہم نے مقرر کیا ہے کیونکہ 1421 01:12:30,110 --> 01:12:34,430 ہم میں سے ہر ایک چھو کرنے کی ضرورت ہے اور یہ کہ تو ہمارے نئے عددی میں شامل کریں. 1422 01:12:34,430 --> 01:12:36,330 >> لیکن ہم صرف ایک نمبر کے طور پر شامل نہیں کر سکتے. 1423 01:12:36,330 --> 01:12:38,270 ہم صرف 9 لے اور نہیں کر سکتے ہیں ہماری عددی 9 شامل کریں. 1424 01:12:38,270 --> 01:12:40,560 یہ کیا جگہ پر منحصر ہے اس تار میں ہے. 1425 01:12:40,560 --> 01:12:42,960 ہم ضرب کرنے کی ضرورت ہے کرنے کے لئے جا رہے ہیں یہ 10 کی طاقت کی طرف سے. 1426 01:12:42,960 --> 01:12:45,580 کہ ہے کیونکہ کس طرح بیس 10 کام. 1427 01:12:45,580 --> 01:12:49,050 >> تو ہم اصل حاصل کرنے کے لئے جا رہے ہیں کردار، یا اصل عددی 1428 01:12:49,050 --> 01:12:53,860 تعداد، کردار 0 subtracting کی طرف سے کردار 9 ہم کے ساتھ کیا تھا کی طرح سے 1429 01:12:53,860 --> 01:12:57,560 کی طرف سے کردار دارالحکومت تفریق ہم میں سے ایک میں تھا جو کچھ بھی کردار 1430 01:12:57,560 --> 01:12:58,120 ان مسائل. 1431 01:12:58,120 --> 01:13:04,190 تو ہم اصل میں 0 سے ایک بڑی تعداد مل جائے گا 9 ایک حقیقی تعداد کے طور پر محفوظ، اور ہم کریں گے 1432 01:13:04,190 --> 01:13:07,590 کے لحاظ سے 10 کی طاقت کی طرف سے ضرب ہم سٹرنگ میں ہیں جہاں پر. 1433 01:13:07,590 --> 01:13:19,430 1434 01:13:19,430 --> 01:13:22,575 اور پھر ہم اسے واپس شامل کرنے کے لئے جا رہے ہیں ہمارے نئے عددی متغیر میں. 1435 01:13:22,575 --> 01:13:32,840 1436 01:13:32,840 --> 01:13:37,890 >> تو کیا اس طرح ہی نظر آئے گا ہم یہاں پر اپنی طرف متوجہ کریں گے - کیا جائے. 1437 01:13:37,890 --> 01:13:40,086 ہم سٹرنگ 90 میں منظور ملتا ہے - 1438 01:13:40,086 --> 01:13:41,336 >> طالب علم: [اشراوی]. 1439 01:13:41,336 --> 01:13:43,190 1440 01:13:43,190 --> 01:13:45,540 >> JASON HIRSCHHORN: لیکن atoi ایک تار لیتا ہے. 1441 01:13:45,540 --> 01:13:46,350 تو ہم کے ذریعے جانے کے لئے جا رہے ہیں انعقاد. 1442 01:13:46,350 --> 01:13:49,900 ہم 90 میں منظور ہو جائے گی. 1443 01:13:49,900 --> 01:13:51,540 ہم سامنے سے واپس جانا. 1444 01:13:51,540 --> 01:13:53,920 ہم 0 لے. 1445 01:13:53,920 --> 01:13:55,080 >> طالب علم: میں معافی چاہتا ہوں. 1446 01:13:55,080 --> 01:13:55,880 شاید یہ پاگل ہے. 1447 01:13:55,880 --> 01:13:59,440 ہم ایک تار میں منظور ہو رہی ہے، ہم کیوں ہو کیا بات ہے 90 ہے 1448 01:13:59,440 --> 01:14:00,260 میں منظور ہو رہی ہے؟ 1449 01:14:00,260 --> 01:14:03,160 90 ایک عدد صحیح ہے. 1450 01:14:03,160 --> 01:14:06,820 >> JASON HIRSCHHORN: atoi ایک لیتا ہے کیونکہ سٹرنگ اور عددی میں بدل جاتا ہے 1451 01:14:06,820 --> 01:14:08,320 کہ سٹرنگ کی نمائندگی. 1452 01:14:08,320 --> 01:14:13,650 لیکن سٹرنگ 90 عدد صحیح نہیں ہے 90 یا نمبر 90. 1453 01:14:13,650 --> 01:14:17,920 سٹرنگ 90 ایک دو کی صف، یا تین حروف، بلکہ، 9 1454 01:14:17,920 --> 01:14:22,740 کردار، 0 کے کردار، اور الٹا سلیش 0 کردار. 1455 01:14:22,740 --> 01:14:26,260 >> اور ہم نے اس وجہ سے، کے لئے atoi لکھ رہے ہیں مثال کے طور پر، آپ کو کمانڈ لے جب 1456 01:14:26,260 --> 01:14:30,230 لائن کی دلیل ہے، اور اس میں محفوظ ہے ہے argv، یہ ایک تار کے طور پر محفوظ ہے. 1457 01:14:30,230 --> 01:14:32,940 لیکن اگر آپ ایک بڑی تعداد کے طور پر اس کا علاج کرنا چاہتے ہیں تو، آپ کو ایک اسے تبدیل کرنے کی ضرورت ہے 1458 01:14:32,940 --> 01:14:34,700 اصل عددی. 1459 01:14:34,700 --> 01:14:37,210 جو ہم ہمارا مسئلہ سیٹ میں سے ایک تھا. 1460 01:14:37,210 --> 01:14:38,800 ہم ایک بڑی تعداد میں نے کون سا ہمارا مسئلہ سیٹ کی. 1461 01:14:38,800 --> 01:14:41,690 ایک عددی لیا کہ سب ایک کمانڈ لائن کی دلیل کے طور پر. 1462 01:14:41,690 --> 01:14:46,490 تو یہ کیوں ہے ہمارے atoi تقریب ایک تار لیتا ہے. 1463 01:14:46,490 --> 01:14:51,910 >> تو پھر، یہاں ہماری مثال میں، ہم گزشتہ ایک لے جا رہا. 1464 01:14:51,910 --> 01:14:55,050 ہم کردار منہا کرنے جا رہے ہیں اس سے 0، کیونکہ حروف 0 1465 01:14:55,050 --> 01:14:58,810 کردار 0 چکاہے آپ کو دیتا ہے کے مطابق اصل تعداد 0، 1466 01:14:58,810 --> 01:15:00,950 کہ ہم ایسا کرتے ASCII ریاضی. 1467 01:15:00,950 --> 01:15:04,870 >> حروف کے طور پر نمائندگی کر رہے ہیں کیونکہ ان کی اصل سے مختلف - 1468 01:15:04,870 --> 01:15:08,830 کردار ایک، مثال کے طور پر، چھوٹے ایک 97 ہے. 1469 01:15:08,830 --> 01:15:10,260 یہ نہیں ہے - افوہ! 1470 01:15:10,260 --> 01:15:13,290 یہ آپ توقع کریں گے، جو کچھ بھی نہیں ہے یہ مثال کے طور پر،، 0 ہو. 1471 01:15:13,290 --> 01:15:16,200 تو آپ کو منہا کرنے کے لئے ہے کردار ایک 0 حاصل کرنے کے لئے. 1472 01:15:16,200 --> 01:15:18,950 >> تو ہم یہاں ایسا کرنے کے لئے جا رہے ہیں اصل تعداد حاصل کرنے کے لئے. 1473 01:15:18,950 --> 01:15:22,560 اور پھر ہم سے گنا کرنے کے لئے جا رہے ہیں 10 کی طاقت، جہاں اس پر منحصر ہے 1474 01:15:22,560 --> 01:15:27,030 تار میں ہے، اور پھر اس لے اور ہماری جگہ ہولڈر میں شامل کریں 1475 01:15:27,030 --> 01:15:32,520 متغیر تو ہم ساتھ آ سکتا ہے ہماری آخری نئے عددی. 1476 01:15:32,520 --> 01:15:35,080 کہ سب سمجھ میں آتا ہے ہے؟ 1477 01:15:35,080 --> 01:15:37,730 >> تو ہم اس کوڈ کو نہیں کر رہے ہیں اب، کیونکہ ہم ہیں 1478 01:15:37,730 --> 01:15:38,830 وقت پر مختصر حاصل کرنے کے. 1479 01:15:38,830 --> 01:15:40,860 میں نے اس کے وقت کے لئے معذرت خواہ ہیں. 1480 01:15:40,860 --> 01:15:44,620 لیکن یہ کیا، امید ہے کہ، آپ گے میں - کوئز پر کرنے کے لئے کے قابل ہو جائے 1481 01:15:44,620 --> 01:15:47,710 بہت کم از کم، اس pseudocode حاصل لکھا. 1482 01:15:47,710 --> 01:15:50,840 >> اور پھر، ہم اگر لکھنا pseudocode، اصل میں، ہم یہ کر سکتے ہیں 1483 01:15:50,840 --> 01:15:51,490 بہت تیزی سے. 1484 01:15:51,490 --> 01:15:55,230 ہم نے لکھا ہے تبصرے کی ہر سطر یہاں کے بارے ترجمہ 1485 01:15:55,230 --> 01:15:56,970 C کوڈ کی ایک لائن. 1486 01:15:56,970 --> 01:16:01,780 نیا متغیر، تحریری طور پر اعلان ایک لوپ، کچھ باقی نکالنا، کچھ 1487 01:16:01,780 --> 01:16:07,070 ضرب، اور کچھ تفویض. 1488 01:16:07,070 --> 01:16:09,020 ہم شاید یہ بھی چاہتے ہیں ایک واپسی لائن لکھنے. 1489 01:16:09,020 --> 01:16:12,040 ہم نے بھی ڈال کرنا چاہتے ہیں کر سکتے ہیں یہاں میں کچھ چیک. 1490 01:16:12,040 --> 01:16:12,655 جی ہاں. 1491 01:16:12,655 --> 01:16:15,720 >> طالب علم: تو ہم علاج کر سکتے ہیں اصل تار کے طور پر کے؟ 1492 01:16:15,720 --> 01:16:18,730 کیونکہ مجھے پتہ ہے یہ صرف ایک پتہ ہے. 1493 01:16:18,730 --> 01:16:22,090 کی طرح، آپ کو کس طرح کی لمبائی کی ملے گا تار کے ذریعے منظور کیا جا رہا ہے؟ 1494 01:16:22,090 --> 01:16:25,310 >> JASON HIRSCHHORN: تو کس طرح کیا ایک تار کی لمبائی؟ 1495 01:16:25,310 --> 01:16:25,830 strlen کی. 1496 01:16:25,830 --> 01:16:26,660 >> طالب علم: strlen کی، جی ہاں. 1497 01:16:26,660 --> 01:16:30,550 لیکن آپ کے کی ڈال کر سکتے ہیں اس کے لئے دلیل ہے؟ 1498 01:16:30,550 --> 01:16:34,620 >> JASON HIRSCHHORN: تو strlen ایک چار ستارہ لیتا ہے. 1499 01:16:34,620 --> 01:16:38,090 اور یہ کہ چار سٹار مندرجہ ذیل، اور یہ یہ ایک ہو جاتا ہے جب تک گنتی رکھتا ہے 1500 01:16:38,090 --> 01:16:41,865 الٹا سلیش 0. strlen کی اصل میں تھا دیگر پروگراموں میں سے ایک ہم 1501 01:16:41,865 --> 01:16:42,850 کوڈ جا رہے تھے. 1502 01:16:42,850 --> 01:16:44,560 اس کوڈ کرنے کے لئے ایک اچھا میں سے ایک ہے. 1503 01:16:44,560 --> 01:16:47,270 یہ ایک، تھوڑا سا آسان ہے کیونکہ اگر آپ اس کے بارے میں سوچنے کے لئے جا رہے ہیں 1504 01:16:47,270 --> 01:16:47,830 تصوراتی - 1505 01:16:47,830 --> 01:16:51,620 میں نے صرف اسے با آواز بلند کہا کہ - strlen کی مندرجہ ذیل ایک پوائنٹر اور رکھتا جا رہا ہے اور 1506 01:16:51,620 --> 01:16:54,210 گنتی اور جب تک ٹریک رکھنے آپ کو ایک الٹا سلیش 0 تک پہنچنے کے. 1507 01:16:54,210 --> 01:16:56,530 >> طالب علم: ٹھیک ہے، یہ مل گیا. 1508 01:16:56,530 --> 01:17:00,200 >> JASON HIRSCHHORN: تو بہترین کوئز 0 کل پر قسمت. 1509 01:17:00,200 --> 01:17:03,170 اگر آپ کو کوئی سوالات ہیں، تو، میں گے اس کے بعد باہر ہو جائے. 1510 01:17:03,170 --> 01:17:05,610 مجھے ای میل کرنے کے لئے آزاد محسوس کرتے ہیں. 1511 01:17:05,610 --> 01:17:08,480 اگر آپ کو آپ کے اپنے TF تک پہنچنے میرے حصے میں، یا حاصل نہیں میری 1512 01:17:08,480 --> 01:17:10,005 آپ یہ چاہتے ہیں تو ای میل کے. 1513 01:17:10,005 --> 01:17:13,140 >> آپ کو پاگل کرنا چاہتے ہیں اور صرف بھیجتے ہیں تو مجھے ایک ای میل، ایک freakout ای میل، میں گے 1514 01:17:13,140 --> 01:17:16,710 ، جذباتیہ، کی طرح، آپ کو واپس بھیجنے کے یا، کی طرح، ایک مذاق یا کچھ اور. 1515 01:17:16,710 --> 01:17:18,190 تو اس کے ساتھ ساتھ ایسا کرنے کے لئے آزاد محسوس کرتے ہیں. 1516 01:17:18,190 --> 01:17:20,750 گڈ لک ایک بار پھر، اور میں کروں گا تمام اگلے ہفتے ملتے ہیں. 1517 01:17:20,750 --> 01:17:23,435