اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

تفاوت رشته در زبان‌های برنامه‌نویسی C و C++

0 امتیاز
1,415 نمایش

تفاوت‌های رشته در C و C++ چیست؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده دوشنبه ۶ آبان ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

رشته در C

در حقیقت زبان C نوع داده‌ای به نام رشته نداره بلکه رشته رو به عنوان آرایه‌ای از کاراکترها در نظر می‌گیره. به این صورت می‌شه به آرابه‌ای از اعداد صحیح هم نام یک نوع داده داد.

اما همین آرایه‌ای از کاراکترها در C طوری گسترده شده و برای کاربردهای مختلف براش تابع نوشته شده که واقعاً به عنوان جایگزین یک نوع داده عمل می‌کنه.
به عنوان مثال الحاق دو رشته به همدیگه. جستجوی یک رشته در رشته‌ی دیگه. کپی یک رشته در یک رشته‌ی دیگه.

به این نوع داده که در C رشته نامیده می‌شد در زبان C++ رشته‌ی C یا C-string گفته می‌شه و هنوز هم مورد استفاده هست.

برای مثال کد زیر در C برای استفاده از رشته‌ها

char str1[20];
char str2[30];
...
if(strlen(str1) < strlen(str2))
{
  strcpy(str2, str1);
}

رشته در C++

همون طور که گفته شد رشته‌ی C در C++ وجود داره. اما با ایجاد شی‌گرایی تعریف انواع داده راحت‌تر و سریع‌تر و از نظر پیاده‌سازی موثرتر شد. بنابراین نوع داده‌ی جدیدی در C++ ایجاد شد که با نام رشته شناخته می‌شود.

string در زبان C++ دیگه فقط آرایه‌ای از کاراکترها نیست. بلکه یک کلاس تعریف شده هست. که دارای توابع عضو زیادی هم هست.

مثال قبلی رو با رشته‌ی C++ در نظر می‌گیرم

string str1, str2;
if(str1.length() < str2.length())
{
  str2 = str1;
}
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۶ آبان ۱۳۹۲ توسط prodo