DAVID J. مالان: پس معلوم است که کپی کردن یک رشته تقریبا به نه ساده به عنوان کپی کردن اولیه، مانند یک int و یا شناور. پس از همه، در زیر کاپوت این ماشین یک رشته شخصیت های دنباله است. بنابراین کپی کردن یک رشته، بنابراین، تا به شامل کپی کردن است که تمام دنباله ای از شخصیت. اجازه دهید تا توجه خود را به آن پیاده سازی گذشته و پاره کردن این خط، رشته T برابر است، که به وضوح کافی نیست. اجازه دهید آن را با یک خط که به نظر می رسد، به جای آن، مثل این. عبارات T می شود malloc از طول رشته از بازدید کنندگان علاوه 1 بار به اندازه یک کاراکتر. در حال حاضر نقل قول وجود دارد کمی رفتن در این خط از کد. اول، malloc، کوتاه را برای حافظه تخصیص و عملکرد کند که فقط. با توجه به یک عدد صحیح، آن را به شما برمی گرداند آدرس یک تکه از حافظه که بسیاری از بایت. در همین حال، طول رشته از بازدید کنندگان به علاوه 1 به معنای نشان می دهد که ما به عنوان می خواهم بسیاری از بایت به بازدید کنندگان در حال حاضر اشغال، از جمله نابودگر تهی آن، بک اسلش 0 در پایان یک رشته است. در همین حال، I لزوما به یاد داشته باشید چقدر بزرگ کاراکتر است، حتی هر چند در اکثر سیستم های آن را به سادگی 1 بایت است، بنابراین من به اندازه کاراکتر تماس بگیرید چهره ای از پویا چقدر بزرگ شخصیت فرد است. هنگامی که با هم ضرب، من به عقب بر گردیم تعداد کل بایت که من نیاز دارند. اما اگر malloc نتواند به حافظه ما نیاز ندارد؟ من می خواهم بهترین راه حل برای چک که به شرح زیر است. اگر t برابر تهی، سپس من اول قرار به رایگان، حافظه های GET بازگشت رشته، و سپس من قصد دارم بازگشت 1، به معنی خطا. اما اگر همه به خوبی، من قصد دارم برای ادامه برای استفاده از چهار حلقه و تکرار به شرح زیر است. برای من بین المللی دریافت 0، N برابر طول رشته است. من قصد دارم برای انجام این کار تا زمانی که من است کمتر از یا به نفر مساوی به طوری که I تکرار تا از طریق و از جمله کارکتر های پایان تهی در ثانیه. و در هر تکرار، من هستم رفتن به افزایش من. در همین حال، در داخل این حلقه، کپی ها در شخصیت i ام را به من ام تی در مکان، آن را کافی برای انجام این کار تی براکت من می شود بازدید کنندگان براکت من. من بهترین می خواهم اضافه کردن یک اضافی خط به کد من. به طور خاص، چون من در حال حاضر با استفاده از malloc، درخواست برای حافظه، آن را به من مسئولیت به آزاد کردن که حافظه وقتی که من با آن انجام می شود، فقط ما دوست داریم باید به آزاد کردن حافظه که توسط رشته که به ما داده شده است. بنابراین در پایان این برنامه، من هستم رفتن به اضافه کردن یک خط اضافی به رایگان تی قبل از بازگشت 0 برای نشان دادن موفقیت است. بیایید نجات دهد، تدوین، و اجرای این برنامه جدید است. ساخت کپی به 1 نقطه اسلش نسخه 1. و من چیزی شبیه گویند سلام در تمام حروف کوچک. و خدا را شکر، این بار من اصلی بدون تغییر باقی مانده است. سلام در تمام حروف کوچک. اما نسخه است، در واقع، با حروف بزرگ.