آرایه در زبان سی

آرایه در برنامه نویسی C

اساطیر زبان

در این آموزش کار با آرایه ها مانند تعریف آرایه، مقداردهی اولیه و دسترسی به عناصر آرایه را به کمک مثال یاد خواهید گرفت.

آرایه متغیری است که می تواند بیش از یک مقدار در خود ذخیره کند. به عنوان مثال برای ذخیره ۱۰۰ عدد صحیح می توانید یک آرایه تعریف کنید.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

int data[100];

تعریف آرایه

نوع داده نام آرایه [اندازه آرایه];

مثال،

float mark[5];

در اینجا یک آرایه با نام mark از نوع اعشاری با اندازه ۵ تعریف شده است. یعنی می توان ۵ عدد اعشاری در آن ذخیره کرد.

این نکته مهم است که اندازه و نوع آرایه پس از تعریف آن قابل تغییر نیست.

دسترسی به عناصر آرایه

با استفاده از اندیس (شاخص) می توانید به عناصر آرایه دسترسی پیدا کنید.

در آرایه mark تعریف شده در مثال بالا، عنصر اول [mark[0، عنصر دوم [mark[1 و به همین ترتیب می باشد.

word image 16

چند نکته کلیدی:

  • اولین اندیس در آرایه ۰ است نه ۱٫ در این مثال، mark[0] عنصر اول است.
  • اگر اندازه آرایه n باشد، برای دسترسی به آخرین عنصر از اندیس n-1 استفاده می شود. در این مثال mark[4] است.
  • فرض کنید آدرس شروع آرایه در حافظه یعنی mark[0] برابر با ۲۱۲۰d باشد. پس آدرس mark[1] و mark[2] به ترتیب برابر ۲۱۲۴d و ۲۱۲۸d خواهد بود و بقیه نیز به همین ترتیب ادامه می یابد. به دلیل اینکه اندازه نوع عدد اعشاری ۴ بایت است.

مقداردهی آرایه

می توانید آرایه را در زمان تعریف آن مقداردهی اولیه کنید. مثال،

int mark[5] = {19, 10, 8, 17, 9};

به صورت زیر نیز می توانید برای یک آرایه مقداردهی اولیه انجام دهید.

int mark[] = {19, 10, 8, 17, 9};

در اینجا اندازه مشخص نشده است اما کامپایلر براساس تعداد عناصر مقداردهی شده، اندازه آن را ۵ در نظر می گیرد.

Initialize an array in C programming اینجا،

mark[0] برابر با ۱۹ است.

mark[1] برابر با ۱۰ است.

mark[2] برابر با ۸ است.

mark[3] برابر با ۱۷ است.

mark[4] برابر با ۹ است.

تغییر مقدار عناصر آرایه

int mark[5] = {19, 10, 8, 17, 9}

// مقدار عنصر سوم را به ۱- تغییر می دهد

mark[2] = -1;

// مقدار عنصر پنجم ۰ می شود

mark[4] = 0;

ورودی و خروجی به آرایه

شیوه گرفتن ورودی از کاربر و ذخیره آن در یک عنصر از آرایه به صورت زیر است:

// گرفتن ورودی از کاربر و ذخیره آن در عنصر سوم آرایه

​scanf(“%d”, &mark[2]);

// ام آرایهi گرفتن ورودی از کاربر و ذخیره آن در عنصر

scanf(“%d”, &mark[i-1]);

چاپ یک عنصر از آرایه:

// چاپ اولین عنصر آرایه

printf(“%d”, mark[0]);

// چاپ سومین عنصر آرایه

printf(“%d”, mark[2]);

// ام آرایهi چاپ عنصر

printf(“%d”, mark[i-1]);

مثال ۱: ورودی/ خروجی آرایه

// ۵ مقدار از ورودی می گیرد و آنها را در یک آرایه ذخیره می کند

// چاپ عناصر ذخیره شده در آرایه

#include <stdio.h>

int main() {

int values[5];

printf(“Enter 5 integers: “);

// گرفتن ورودی و ذخیره در آرایه

for(int i = 0; i < 5; ++i) {

scanf(“%d”, &values[i]);

}

printf(“Displaying integers: “);

// چاپ عناصر آرایه

for(int i = 0; i < 5; ++i) {

printf(“%d\n”, values[i]);

}

return 0;

}

خروجی

Enter 5 integers: 1

۳۴

۰

۳

Displaying integers: 1

۳۴

۰

۳

در اینجا با استفاده از حلقه for، ۵ ورودی از کاربر گرفته و در آرایه values ذخیره شده سپس با استفاده از یک حلقه for دیگر عناصر روی صفحه نمایش داده می شوند.

مثال ۲: محاسبه میانگین

//عدد با استفاده از آرایه n محاسبه میانگین

#include <stdio.h>

int main()

{

int marks[10], i, n, sum = 0, average;

printf(“Enter number of elements: “);

scanf(“%d”, &n);

for(i=0; i<n; ++i)

{

printf(“Enter number%d: “,i+1);

scanf(“%d”, &marks[i]);

// sum جمع عدد وارد شده توسط کاربر با متغیر

sum += marks[i];

}

average = sum/n;

printf(“Average = %d”, average);

return 0;

}

خروجی

Enter n: 5

Enter number1: 45

Enter number2: 35

Enter number3: 38

Enter number4: 31

Enter number5: 49

Average = 39

در اینجا، میانگین n عدد وارد شده توسط کاربر محاسبه شده است.

دسترسی عناصر خارج از محدوده ارایه

فرض کنید یک آرایه با ۱۰ عنصر تعریف کرده اید. بیایید بگوییم ،

int testArray[10];

می توانید به عناصر آرایه با استفاده از [testArray[0 تا  [testArray[9 دسترسی پیدا کنید.

حالا اگر سعی کنید به خانه testArray[12] دسترسی پیدا کنید، باید بگوییم که این عنصر قابل دسترس نیست و ممکنه منجر به خروجی غیرمنتظره ای (رفتار تعریف نشده) شود. گاهی اوقات نیز خطا رخ می دهد و در بعضی موارد هم ممکنه برنامه به درستی اجرا شود. به همین دلیل هرگز نباید سعی کنید به عناصر خارج از محدوده آرایه دسترسی داشته باشید.

آرایه های چند بعدی

در این آموزش با مفاهیم اولیه آرایه ها آشنا شدید. به این آرایه ها، آرایه های یک بعدی گفته می شود. در آموزش بعدی آرایه های چند بعدی (آرایه ای از یک آرایه) را بررسی خواهیم کرد.

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

2 دیدگاه. ارسال دیدگاه جدید

  • سلام چطور میشه مثلا دو آرایه a وb رو به صورت زیر در آرایه cذخیره کرد؟
    Unsigned char a[]=x
    Unsigned char b[]=y
    Unsigned char c[]=x,y

    پاسخ
    • c
      // تعریف دو آرایه
      unsigned char a[] = {1, 2, 3};
      unsigned char b[] = {4, 5, 6};

      // تعریف آرایه جدید
      unsigned char c[6];

      // ترکیب دو آرایه
      for (int i = 0; i < sizeof(a); i++) {
      c[i] = a[i];
      }

      for (int i = 0; i < sizeof(b); i++) {
      c[i + sizeof(a)] = b[i];
      }

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست