1 00:00:00,000 --> 00:00:00,410 2 00:00:00,410 --> 00:00:03,130 >> DAVID J. MALAN: تو یہ پتہ چلتا ہے کہ ایک تار کاپی تقریبا کے طور پر نہیں ہے 3 00:00:03,130 --> 00:00:05,750 ، ایک آدم کاپی کے طور پر آسان ایک int یا فلوٹ کی طرح. 4 00:00:05,750 --> 00:00:09,190 سب کے بعد، ہڈ کے نیچے ایک تار ایک ہی تسلسل حروف ہے. 5 00:00:09,190 --> 00:00:13,130 تو ایک تار کاپی کرنے، اس وجہ سے، ہے کہ پورے تسلسل کی کاپی شامل 6 00:00:13,130 --> 00:00:14,240 حروف. 7 00:00:14,240 --> 00:00:17,470 >> کی ہے کہ واپس ہماری طرف موڑ دو آخری عمل اور اس سے باہر چیر 8 00:00:17,470 --> 00:00:21,470 لائن، سٹرنگ T، S برابر جس واضح طور پر کافی نہیں تھا. 9 00:00:21,470 --> 00:00:24,440 ایک لائن کے ساتھ اس کی جگہ لے لیتے ہیں کہ اس طرح، اس کے بجائے، لگتا ہے. 10 00:00:24,440 --> 00:00:34,020 جملہ T سٹرنگ کی لمبائی کے malloc کا ہو جاتا ہے ایک چار ایس کے علاوہ 1 بار سائز. 11 00:00:34,020 --> 00:00:36,320 >> اب جا رہی تھوڑا سا اقتباس ہے کوڈ کی اس لائن میں. 12 00:00:36,320 --> 00:00:39,330 سب سے پہلے، malloc کے، مختصر کے لئے میموری تین ہلاک، اور 13 00:00:39,330 --> 00:00:40,700 تقریب صرف یہ ہے کہ کرتا ہے. 14 00:00:40,700 --> 00:00:44,740 ایک عددی دیکھتے ہوئے، یہ آپ کو واپس کی میموری کا ایک حصہ کا پتہ 15 00:00:44,740 --> 00:00:45,960 کہ بہت سے بائٹس. 16 00:00:45,960 --> 00:00:50,090 دریں اثنا، سٹرنگ کی لمبائی کے علاوہ 1 ہم چاہتے ہیں کہ اس بات کی نشاندہی کرنے کے لئے کیا مراد ہے 17 00:00:50,090 --> 00:00:54,690 ے پہلے ہی قبضہ کے طور پر کئی بائٹس، اس کی شہوت انگیز null مختتم، سمیت 18 00:00:54,690 --> 00:00:57,050 ایک تار کے آخر میں الٹا سلیش 0. 19 00:00:57,050 --> 00:01:00,170 >> دریں اثنا، میں ضروری یاد نہیں ایک چار بھی، کتنا بڑا ہے 20 00:01:00,170 --> 00:01:04,340 سب سے زیادہ نظام پر یہ صرف 1 ہے اگرچہ بائٹ، تو میں نے چار کے سائز میں فون کروں گا 21 00:01:04,340 --> 00:01:08,210 متحرک طور پر اعداد و شمار کتنا بڑا ایک انفرادی کردار ہے. 22 00:01:08,210 --> 00:01:12,550 ایک بار ایک دوسرے کے ساتھ کئی گنا اضافہ، میں واپس حاصل مجھے اس کی ضرورت ہے کہ بائٹس کی کل تعداد. 23 00:01:12,550 --> 00:01:14,680 >> لیکن malloc پر کیا ناکام ہو جاتا ہے ہم نے کی ضرورت میموری واپس؟ 24 00:01:14,680 --> 00:01:16,730 مندرجہ ذیل میں سب سے بہتر اس کے لئے چیک کرنے کے لیے تھا. 25 00:01:16,730 --> 00:01:23,330 T، شہوت انگیز null برابر، تو میں سب سے پہلے میں جا رہا ہوں مفت ے، میموری حاصل کی طرف سے واپس 26 00:01:23,330 --> 00:01:27,120 سٹرنگ، اور پھر میں جا رہا ہوں غلطی کی نشاندہی کرنے کے لئے، واپس 1. 27 00:01:27,120 --> 00:01:30,360 >> سب کچھ ٹھیک ہے لیکن اگر میں آگے بڑھنے کے لئے جا رہا ہوں چار لوپ استعمال کرتے ہیں اور iterate کرنے کے لئے 28 00:01:30,360 --> 00:01:31,110 مندرجہ ذیل. 29 00:01:31,110 --> 00:01:36,000 int کے لئے میں 0، ن برابر حاصل ے کی سٹرنگ کی لمبائی. 30 00:01:36,000 --> 00:01:40,350 میں اتنی دیر میں ہے کے طور پر ایسا کرنے کے لئے جا رہا ہوں سے کم یا ن کے برابر ہے کہ تو مجھے 31 00:01:40,350 --> 00:01:44,460 کے ذریعے اور سمیت iterate کے ے میں، شہوت انگیز null ختم کردار. 32 00:01:44,460 --> 00:01:47,450 >> اور ہر iteration پر، ہوں میں اضافہ کرنے کے لئے جا. 33 00:01:47,450 --> 00:01:52,496 دریں اثنا، اس لوپ کے اندر، کاپی T کی میں ویں میں ایس کی کردار میں ویں 34 00:01:52,496 --> 00:01:59,310 مقام، یہ T کرنے کے لئے کافی ہے بریکٹ میں کی بریکٹ میں ہو جاتا ہے. 41 00:01:59,320 --> 00:02:02,750 >> اب، کو بچانے کے مرتب کرتے ہیں، اور اس نئے پروگرام کو چلانے کے. 42 00:02:02,750 --> 00:02:06,690 کاپی 1 ڈاٹ سلیش کاپی 1 بنائیں. 43 00:02:06,690 --> 00:02:09,460 اور میں کچھ کی طرح کہیں گے خوش تمام چھوٹے. 44 00:02:09,460 --> 00:02:12,280 اور شکر ہے، اس وقت میری اصل میں کوئی تبدیلی نہیں رہتا ہے. 45 00:02:12,280 --> 00:02:13,660 خوش تمام چھوٹے. 46 00:02:13,660 --> 00:02:15,540 لیکن کاپی، بے شک، پونجیکرت ہے. 47 00:02:37,120 --> 00:02:38,963