مدیریت رشته در سی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
صفحه‌ای جدید حاوی «{{کتابخانه استاندارد سی}} '''مدیریت رشته‌ها در سی''' اشاره به گروهی از توابع در ...» ایجاد کرد
برچسب: منبع‌دهی نادرست (پخ)
 
MahdiBot (بحث | مشارکت‌ها)
خط ۴:
 
== تعاریف ==
در [[زبان برنامه‌نویسی سی]]، یک رشته عبارتست از یک توالی پیوسته از کاراکتر‌هاکاراکترها که به یک [[کاراکتر تهی]] ختم می‌شوند. کاراکتر تهی (که به صورت {{چر}}'\0' نوشته شده و دارای کد اسکی 0 است) هم جزئی از رشته به حساب می‌آید. در سی دو نوع رشته وجود دارد. یکی '''رشته بایتی''' و دیگری '''رشته توسعه‌یافته'''. یک رشته بایتی از نوع char تعریف شده و دربرگیرنده کاراکتر‌هایکاراکترهای ۸ بیتی است. رشته توسعه یافته از نوع wchar_t تعریف شده و دربرگیرنده کاراکتر‌هایکاراکترهای ۱۶ بیتی است.
 
یک تصور اشتباه رایج این است که تمام آرایه‌های کاراکتری رشته هستند، چون لیترال‌های رشته‌ای در هنگام کامپایل به آرایه تبدیل می‌شوند. این مهم است به یاد داشته باشید که یک رشته در هنگام رسیدن به اولین کاراکتر تهی ({{چر}}'\0') پایان می‌یابد. یک آرایه یا لیترال رشته‌ای که قبل از آخرین بایتش حاوی یک (یا چند) کاراکتر تهی است، دربرگیرنده یک رشته (یا در صورت امکان دربرگیرنده چندین رشته) است، اما خودش یک رشته نیست. در مقابل، میتوان یک آرایه کاراکتری ایجاد کرد که اصلااصلاً حاوی کاراکتر تهی نیست و حتی به کاراکتر تهی هم ختم نمی‌شود، بنابراین این آرایه یک رشته نیست. زمانیکه احتیاج به صرفه‌جویی در حافظه باشد، میتوان از char به عنوان عدد صحیح استفاده کرد. برای مثال وقتی که احتیاج به آرایه‌ای از مقادیر بولی داریم.
 
در زبان سی از عبارت '''اشاره‌گر به رشته''' برای توصیف اشاره‌گری که به اولین بایت (پایینترین آدرس) یک رشته اشاره می‌کند، استفاده می‌شود. در سی، از اشاره‌گر‌هااشاره‌گرها برای ارسال رشته‌ها به توابع استفاده می‌شود. در مستندات اغلب واژه ''رشته'' به معنی ''اشاره‌گر به رشته'' است.
 
عبارت '''طول یک رشته''' برای توصیف تعداد بایت‌هایی که ما‌قبلماقبل کاراکتر تهی قرار دارند استفاده می‌شود. برای مثال طول رشته A بیست بایت است، به این معنیست که ۱۹ بایت (هر بایت یک کاراکتر) قبل از کاراکتر تهی قرار دارد و آدرس اولین بایت در اشاره‌گر A قرار دارد. (خود کاراکتر تهی هم جزء رشته به حساب می‌آید) strlen یک تابع استاندارد برای بدست آوردن طول یک رشته است.
 
== منابع ==
{{پانویس}}
ویکی پدیایویکی‌پدیای انگلیسی
 
[[رده:رشته (علوم رایانه)]]
[[رده:زبان برنامه‌نویسی سی]]
[[رده:کتابخانه استاندارد سی]]