مفاهیم اولیه برنامه نویسی - یادداشت چهارم (توابع و I/O)
آرایهها
فرض کنید که در برنامه خود به ذخیرهسازی 5 عدد صحیح نیاز دارید. اگر از متغیرهای ساده برنامهنویسی و مفاهیم انواع دادهها استفاده کنیم، به 5 متغیر با نوع داده int نیاز داریم و برنامه به شکل زیر خواهد بود:
#include<stdio.h>
main(){
int number1;
int number2;
int number3;
int number4;
int number5;
number1 = 10;
number2 = 20;
number3 = 30;
number4 = 40;
number5 = 50;
printf("number1: %d\n", number1);
printf("number2: %d\n", number2);
printf("number3: %d\n", number3);
printf("number4: %d\n", number4);
printf("number5: %d\n", number5);
}
این برنامه بسیار ساده است و فقط ۵ عدد صحیح را ذخیره کردیم، حال فرض کنید 5000 متغیر را بخواهیم عددهی کنیم، برای مدیریت چنین وضعی، تقریبا تمامی زبان های برنامه نویسی مفهومی بنام آرایه را در خود دارند.
بنابراین، بجای تعریف متغیرها به صورت جداگانه همانند number1, number2, .., and number99 تنها یک متغیر آرایهای بنام number از نوع صحیح تعریف می شود و به صورت number1[0], number2[2], and …, number99[99] برای تعریف متغیرها به صورت منفرد استفاده میگردد. در اینجا 0و 1و 2و … 99 اندیس مرتبط با متغیر است و برای نمایش اجزا متغیر در یک آرایه استفاده میشوند.
تمامی آرایه ها شامل مکانهای حافظه پیوسته هستند، پایینترین ادرس به اولین جز و بالاترین آدرس به آخرین جز مربوط میشود.
ایجاد آرایهها
برای ایجاد یک متغیر آرایه در زبان c برنامهنویس نوع اجزا و تعداد اجزایی که باید در آرایه ذخیره شوند را تعیین میکند. در زیر، گرامر مربوط به آرایهها نشان داده شده است:
type arrayName [arraySize];
این، یک آرایه یک بعدی نام دارد. اندازه آرایه باید یک عدد صحیح ثابت بزرگتر از صفر باشد و نوع آن میتواند هر نوع داده معتبر در زبان c باشد.
مقداردهی اولیه آرایهها
میتوانید آرایه را در زبان C به صورت یک به یک با استفاده از یک دستور منفرد به صورت زیر مقداردهی اولیه کرد:
int number [5] = {10,20,30,40,50};
تعداد مقادیر بین {} نمیتواند بزرگتر از تعداد عناصر تعریف شده در آرایه باشد. اگر اندازه آرایه را از قلم انداخته باشید، آرایه تنها مقدار بزرگتر را برای نگهداری مقدار اولیه استفاده میکند.
دسترسی به عناصر آرایه
یک عنصر توسط اندیس نام آرایه قابل دسترس میباشد. این موضوع از طریق جایگذاری اندیس عنصر در داخل براکت پس از نام آرایه انجام میشود.