DAVID J. MALAN: تو یہ پتہ چلتا ہے کہ ایک تار کاپی تقریبا کے طور پر نہیں ہے ، ایک آدم کاپی کے طور پر آسان ایک int یا فلوٹ کی طرح. سب کے بعد، ہڈ کے نیچے ایک تار ایک ہی تسلسل حروف ہے. تو ایک تار کاپی کرنے، اس وجہ سے، ہے کہ پورے تسلسل کی کاپی شامل حروف. کی ہے کہ واپس ہماری طرف موڑ دو آخری عمل اور اس سے باہر چیر لائن، سٹرنگ T، S برابر جس واضح طور پر کافی نہیں تھا. ایک لائن کے ساتھ اس کی جگہ لے لیتے ہیں کہ اس طرح، اس کے بجائے، لگتا ہے. جملہ T سٹرنگ کی لمبائی کے malloc کا ہو جاتا ہے ایک چار ایس کے علاوہ 1 بار سائز. اب جا رہی تھوڑا سا اقتباس ہے کوڈ کی اس لائن میں. سب سے پہلے، malloc کے، مختصر کے لئے میموری تین ہلاک، اور تقریب صرف یہ ہے کہ کرتا ہے. ایک عددی دیکھتے ہوئے، یہ آپ کو واپس کی میموری کا ایک حصہ کا پتہ کہ بہت سے بائٹس. دریں اثنا، سٹرنگ کی لمبائی کے علاوہ 1 ہم چاہتے ہیں کہ اس بات کی نشاندہی کرنے کے لئے کیا مراد ہے ے پہلے ہی قبضہ کے طور پر کئی بائٹس، اس کی شہوت انگیز null مختتم، سمیت ایک تار کے آخر میں الٹا سلیش 0. دریں اثنا، میں ضروری یاد نہیں ایک چار بھی، کتنا بڑا ہے سب سے زیادہ نظام پر یہ صرف 1 ہے اگرچہ بائٹ، تو میں نے چار کے سائز میں فون کروں گا متحرک طور پر اعداد و شمار کتنا بڑا ایک انفرادی کردار ہے. ایک بار ایک دوسرے کے ساتھ کئی گنا اضافہ، میں واپس حاصل مجھے اس کی ضرورت ہے کہ بائٹس کی کل تعداد. لیکن malloc پر کیا ناکام ہو جاتا ہے ہم نے کی ضرورت میموری واپس؟ مندرجہ ذیل میں سب سے بہتر اس کے لئے چیک کرنے کے لیے تھا. T، شہوت انگیز null برابر، تو میں سب سے پہلے میں جا رہا ہوں مفت ے، میموری حاصل کی طرف سے واپس سٹرنگ، اور پھر میں جا رہا ہوں غلطی کی نشاندہی کرنے کے لئے، واپس 1. سب کچھ ٹھیک ہے لیکن اگر میں آگے بڑھنے کے لئے جا رہا ہوں چار لوپ استعمال کرتے ہیں اور iterate کرنے کے لئے مندرجہ ذیل. int کے لئے میں 0، ن برابر حاصل ے کی سٹرنگ کی لمبائی. میں اتنی دیر میں ہے کے طور پر ایسا کرنے کے لئے جا رہا ہوں سے کم یا ن کے برابر ہے کہ تو مجھے کے ذریعے اور سمیت iterate کے ے میں، شہوت انگیز null ختم کردار. اور ہر iteration پر، ہوں میں اضافہ کرنے کے لئے جا. دریں اثنا، اس لوپ کے اندر، کاپی T کی میں ویں میں ایس کی کردار میں ویں مقام، یہ T کرنے کے لئے کافی ہے بریکٹ میں کی بریکٹ میں ہو جاتا ہے. میں سب سے بہتر ایک اضافی شامل تھا اپنے کوڈ کے لئے لائن. خاص طور پر، کیونکہ میں اب استعمال کر رہا ہوں malloc کی، میموری کے لئے پوچھ، یہ میرا ہے اس میموری کو آزاد کرنے کی ذمہ داری میں اس کے ساتھ کیا کر رہا ہوں جب، ہم پسند میموری آزاد کیا جانا چاہئے ہے حاصل سٹرنگ طرف سے ہمیں دیا. تو اس پروگرام کے آخر میں، میں ہوں ایک اضافی لائن شامل کرنے کے لئے جا واپس آنے سے پہلے t مفت کے لئے 0 کامیابی اس بات کی نشاندہی کرنے کے لئے. اب، کو بچانے کے مرتب کرتے ہیں، اور اس نئے پروگرام کو چلانے کے. کاپی 1 ڈاٹ سلیش کاپی 1 بنائیں. اور میں کچھ کی طرح کہیں گے خوش تمام چھوٹے. اور شکر ہے، اس وقت میری اصل میں کوئی تبدیلی نہیں رہتا ہے. خوش تمام چھوٹے. لیکن کاپی، بے شک، پونجیکرت ہے.