آرایهها و رشتهها در ++C
آرایهها و رشتهها دو ساختار دادهای مهم در زبان ++C هستند که برای ذخیره مجموعهای از دادهها استفاده میشوند. در ادامه به بررسی جزئیات این دو نوع داده خواهیم پرداخت.
۱. آرایهها در ++C
آرایهها مجموعهای از دادههای همنوع هستند که به صورت متوالی در حافظه ذخیره میشوند. در ++C، میتوانیم آرایههایی از انواع مختلف دادهها (مثل int، char، float و غیره) تعریف کنیم.
تعریف آرایهها
آرایهها به این صورت تعریف میشوند:
- type: نوع دادهای که آرایه قرار است ذخیره کند (مثل int، float و غیره).
- array_name: نام آرایه.
- array_size: تعداد عناصری که آرایه میتواند نگهداری کند.
مثال:
using namespace std;
int main() {
int numbers[5] = {1, 2, 3, 4, 5}; // تعریف یک آرایه از نوع int با 5 عنصر
// دسترسی به عناصر آرایه
cout << "عدد اول: " << numbers[0] << endl;
cout << "عدد دوم: " << numbers[1] << endl;
// تغییر مقدار عنصر
numbers[2] = 10;
cout << "عدد سوم تغییر یافته: " << numbers[2] << endl;
return 0;
}
ویژگیها:
- اندیسگذاری (Indexing): در ++C، اندیس آرایهها از 0 شروع میشود. بنابراین، اولین عنصر در آرایه با array[0] و آخرین عنصر با array[array_size-1] دسترسی دارد.
- اندازه ثابت: پس از تعریف اندازه آرایه، نمیتوان اندازه آن را تغییر داد.
آرایههای دو بعدی
آرایهها میتوانند بیش از یک بعد داشته باشند. آرایههای دو بعدی به شکل جدول (ماتریس) هستند.
مثال:
using namespace std;
int main() {
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}}; // آرایه دو بعدی
cout << "عنصر (1,1): " << matrix[0][0] << endl;
cout << "عنصر (2,3): " << matrix[1][2] << endl;
return 0;
}
۲. رشتهها (Strings) در ++C
رشتهها در ++C به دو صورت مختلف تعریف میشوند: یکی به صورت آرایهای از کاراکترها و دیگری با استفاده از کلاس string که در کتابخانه استاندارد ++C (<string>) وجود دارد.
رشتهها به عنوان آرایهای از کاراکترها
یک رشته میتواند بهعنوان یک آرایه از نوع char تعریف شود که در آن هر کاراکتر در یک خانه از آرایه ذخیره میشود. برای پایان دادن به رشتهها، در ++C از کاراکتر خاصی به نام null terminator ('\0') استفاده میشود.
مثال:
using namespace std;
int main() {
char str[] = "سلام دنیا"; // تعریف یک رشته
cout << "رشته: " << str << endl; // چاپ رشته
cout << "اولین کاراکتر: " << str[0] << endl; // دسترسی به اولین کاراکتر
return 0;
}
در این مثال، رشته "سلام دنیا" بهطور خودکار با کاراکتر '\0' پایان مییابد.
رشتهها با استفاده از کلاس string
در ++C، از کلاس string در کتابخانه <string> برای مدیریت رشتهها استفاده میشود. این روش بسیار راحتتر و انعطافپذیرتر از استفاده از آرایههای char است.
مثال:
#include <string> // برای استفاده از کلاس string
using namespace std;
int main() {
string str = "سلام دنیا"; // تعریف یک رشته
cout << "رشته: " << str << endl; // چاپ رشته
cout << "طول رشته: " << str.length() << endl; // طول رشته
str = "دنیا سلام"; // تغییر رشته
cout << "رشته جدید: " << str << endl;
return 0;
}
ویژگیها و عملیاتهای رشتهای با کلاس string:
- طول رشته: با استفاده از متد length() میتوان طول رشته را به دست آورد.
- دسترسی به کاراکترها: مانند آرایهها میتوان به هر کاراکتر از رشته دسترسی داشت.
- مقداردهی و تغییر رشته: رشتهها به راحتی میتوانند تغییر کنند.
- عملیاتها: عملیاتهایی مانند الحاق رشتهها (+)، مقایسه رشتهها (==)، جستجوی کاراکتر در رشته و غیره در کلاس string در دسترس است.
مثال:
#include <string>
using namespace std;
int main() {
string str1 = "سلام";
string str2 = " دنیا";
string str3 = str1 + str2; // الحاق رشتهها
cout << "رشته الحاق شده: " << str3 << endl;
if (str1 == "سلام") { // مقایسه رشتهها
cout << "رشتهها برابرند." << endl;
}
return 0;
}
مقایسه رشتهها:
در ++C، رشتههای string را میتوان به راحتی با استفاده از عملگرهای مقایسه مانند ==, !=, <, >, و غیره مقایسه کرد.
نتیجهگیری:
- آرایهها برای ذخیره مجموعهای از دادههای همنوع و پیادهسازی ساختارهای دادهای مختلف کاربرد دارند.
- رشتهها میتوانند به دو صورت آرایهای از char یا با استفاده از کلاس string تعریف شوند.
- استفاده از کلاس string راحتتر و امنتر از استفاده از آرایههای char است.
- آرایهها و رشتهها ابزارهایی قدرتمند برای مدیریت دادهها و انجام عملیات مختلف در ++C هستند.
