انواع دادههای ترکیبی: آرایهها، رشتهها در ++C
در ++C، علاوه بر انواع دادههای پایه، انواع دادههای ترکیبی نیز وجود دارند که میتوانند چندین مقدار را در خود ذخیره کنند. این انواع داده شامل آرایهها و رشتهها هستند که برای ذخیره مجموعهای از دادهها بهکار میروند.
۱. آرایهها (Arrays)
آرایهها مجموعهای از دادهها از نوع یکسان هستند که با یک نام مشترک ذخیره میشوند. هر عنصر آرایه از طریق ایندکس دسترسی پیدا میکند. در ++C، ایندکس آرایهها از صفر شروع میشود.
✅ تعریف آرایهها
برای تعریف یک آرایه باید نوع داده و تعداد عناصر آن مشخص شود.
✅ مقداردهی به آرایهها
میتوانیم مقادیر آرایه را هنگام تعریف یا بعداً مقداردهی کنیم.
✅ دسترسی به عناصر آرایه
برای دسترسی به عناصر آرایه از ایندکس استفاده میکنیم.
✅ آرایههای دو بعدی
آرایهها میتوانند چندبعدی باشند، مانند آرایههای دو بعدی برای ذخیره ماتریسها.
۲. رشتهها (Strings)
در ++C، رشتهها معمولاً با استفاده از کلاس std::string که در کتابخانه <string> قرار دارد، تعریف میشوند. این نوع داده میتواند مجموعهای از کاراکترها را ذخیره کند.
✅ تعریف رشتهها
برای تعریف یک رشته از نوع string استفاده میکنیم.
using namespace std;
string name = "Ali"; // تعریف رشته
✅ عملیات بر روی رشتهها
میتوانیم از عملیات مختلف مانند الحاق، طول رشته و دسترسی به کاراکترهای آن استفاده کنیم.
cout << fullName.length(); // نمایش طول رشته
cout << fullName[0]; // دسترسی به اولین کاراکتر رشته
✅ رشتهها در C-style (استفاده از آرایههای کاراکتری)
قبل از معرفی std::string، در ++C از آرایههای کاراکتری برای رشتهها استفاده میشد. در این حالت رشتهها در واقع یک آرایه از کاراکترها هستند که با '\0' (کاراکتر پایان رشته) خاتمه مییابند.
۳. تفاوت آرایهها و رشتهها در ++C
- آرایهها معمولاً برای ذخیره مجموعهای از دادههای مشابه (مثلاً همه اعداد صحیح یا همه کاراکترها) استفاده میشوند، در حالی که رشتهها برای ذخیره دادههای متنی بهکار میروند.
- در حالی که آرایهها در ++C اندازه ثابت دارند و نمیتوانند بهصورت دینامیک تغییر اندازه دهند، رشتهها میتوانند در طول زمان تغییر کنند و برای انجام عملیات پیچیدهتر بر روی متن مناسبترند.
جمعبندی
✅ آرایهها برای ذخیره مجموعهای از دادهها از نوع یکسان و بهصورت ثابت استفاده میشوند.
✅ رشتهها معمولاً برای ذخیره دادههای متنی استفاده میشوند و میتوانند بهطور دینامیک تغییر یابند.
✅ آرایهها میتوانند یک یا چند بعدی باشند، در حالی که رشتهها بهصورت آرایهای از کاراکترها یا از طریق کلاس std::string تعریف میشوند.
