در این جلسه از آموزش ++C به بررسی آرایهها در ++C میپردازیم. ++C ساختار دادهای به نام آرایه فراهم کرده که مجموعهای ترتیبی از عناصر هم نوع، با اندازه ثابت را در خود ذخیره میکند. یک آرایه برای ذخیره مجموعهای از دادهها استفاده میشود، اما مفیدتر است که یک آرایه را به عنوان مجموعهای از متغیرهای هم نوع درنظر بگیریم.
به جای اعلان متغیرهای منفرد، مانند number0، number1… تا number99، یک آرایه مانند numbers تعریف کرده و برای بیان متغیرهای منفرد به صورت number[1]، number[0]، تا number[99] از آن استفاده میکنیم. برای دسترسی به یک عنصر مشخص از آرایه از شاخص (index) استفاده میشود.
همه آرایهها در فضای پیوسته از حافظه ذخیره میشوند. کوچکترین آدرس مربوط به اولین عنصر و بزرگترین آدرس مربوط به آخرین عنصر میباشد.
اعلان آرایهها
برای تعریف یک آرایه در ++C، برنامهنویس باید نوع المانها و تعداد آنها را به صورت زیر مشخص کند.
type arrayName [ arraySize ];
این آرایه یک آرایه یک بعدی میباشد. arraySize یک ثابت صحیح بزرگتر از 0 است و type هم میتواند هر نوع داده مجاز در ++C باشد. برای مثال، برای اعلان یک آرایه 10 عنصره از نوع double و به نام balance، از دستور زیر استفاده میکنیم.
double balance[10];
مقداردهی اولیه آرایهها
میتوان آرایههای ++C را به صورت یکی یکی یا با تک دستور زیر مقداردهی کرد.
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
تعداد مقادیر بین آکلادها ({ }) نباید بزرگتر از تعداد عناصر آرایه، یعنی عددی که هنگام اعلان آن بین [] قرار میگیرد باشد. مثال زیر نحوه اختصاص مقدار به یک عنصر از آرایه را نشان میدهد.
اگر اندازه آرایه را حذف کنیم، آرایهای ایجاد میشود که به اندازه تعداد مقادیر اولیه جا دارد. بنابراین، اگر بنویسیم:
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
دقیقاً آرایهای ساخته خواهد شد که در مثال قبلی ایجاد کردیم.
balance[4] = 50.0;
دستور بالا مقدار 50.0 را به پنجمین عنصر آرایه اختصاص میدهد. عنصر با ایندکس 4 پنجمین عنصر آرایه میباشد، زیرا در همه آرایهها ایندکس اولین عنصر 0 است که ایندکس پایه نامیده میشود. نمایش تصویری آرایهای که راجع به آن صحبت کردیم در زیر آمده است.
دسترسی به عناصر آرایه
با ایندکس و نام آرایه میتوان به عناصر آن دسترسی پیدا کرد.برای مثال:
double salary = balance[9];
دستور بالا دهمین عنصر آرایه را گرفته و مقدار آن را به متغیر salary نسبت میدهد. مثال زیر، سه مفهومی که در بالا ذکر کردیم را پوشش میدهد، یعنی اعلان، تخصیص و دسترسی به آرایه.
#include <iostream> using namespace std; #include <iomanip> using std::setw; int main () { int n[ 10 ]; // n is an array of 10 integers // initialize elements of array n to 0 for ( int i = 0; i < 10; i++ ) { n[ i ] = i + 100; // set element at location i to i + 100 } cout << "Element" << setw( 13 ) << "Value" << endl; // output each array element's value for ( int j = 0; j < 10; j++ ) { cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl; } return 0; }
برنامه فوق از تابع ()setw برای فرمت کردن خروجی استفاده میکند. با کامپایل و اجرای کد بالا، خروجی زیر تولید میشود.
Element Value 0 100 1 101 2 102 3 103 4 104 5 105 6 106 7 107 8 108 9 109
آرایهها در ++C
آرایهها در ++C بسیار مهم بوده و باید با جزئیات دقیق بیان گردند. جدول زیر برخی مفاهیم مهمی که هر برنامهنویس ++C باید با آنها آشنا باشد را نشان میدهد.
ردیف |
مفهوم و توضیح آن |
1 |
آرایه چندبعدی ++C از آرایههای چندبعدی پشتیبانی میکند. ساده ترین شکل آرایه چندبعدی، آرایه دوبعدی میباشد. |
2 |
اشارهگر به یک آرایه با استفاده از نام آرایه و بدون هیچ ایندکسی، میتوان به سادگی یک اشارهگر به اولین عنصر آرایه ایجاد کرد. |
3 |
ارسال آرایهها به توابع با استفاده از نام آرایه بدون ایندکس، میتوان یک اشارهگر به آرایه را به تابع ارسال کرد. |
4 |
برگرداندن آرایه از تابع ++C امکان برگرداندن یک آرایه از تابع را فراهم کرده است. |
منبع: ترجمه از سایت tutorialspoint.com
امیدواریم آموزش آرایهها در ++C براتون مفید واقع شده باشه. در جلسه بعدی آموزش ++C با ما همراه باشید. همچنین توصیه می کنیم پروژه های آردوینو، آموزش رزبری پای و آموزش آردوینو را هم مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.