اردیبهشت ۲۹, ۱۳۹۸ Mostafa بدون دیدگاه

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

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

یک آرایه به عنوان مجموعه ای از انواع مشابه داده های ذخیره شده در مکان های حافظه مجاور تعریف شده است. آرایه ها نوع داده های مشتق شده در زبان برنامه نویسی C است که می تواند نوع داده های اولیه مانند int، char، double، float و غیره را ذخیره کند. همچنین می تواند مجموعه ای از انواع داده های مشتق شده مانند نشانه ها، ساختار، آرایه ساده ترین ساختار داده است که در آن هر عنصر داده می تواند به صورت تصادفی با استفاده از شماره شاخص آن دسترسی پیدا کند.

اگر شما باید عناصر مشابه را ذخیره کنید استفاده از آرایه مفید است. به عنوان مثال، اگر ما می خواهیم علامت های یک دانش آموز را در ۶ موضوع ذخیره کنیم، لازم نیست متغیرهای مختلفی را برای عالمت در موضوع مختلف تعریف کنیم. به جای این، می توانیم یک آرایه را تعریف کنیم که می تواند علامت ها را در هر موضوع در مکان های حافظه مجاور ذخیره کند.

با استفاده از آرایه، می توانیم به راحتی به عناصر دسترسی پیدا کنیم. برای دسترسی به عناصر آرایه فقط چند خط کد لازم است.

خواص آرایه

آرایه حاوی خواص زیر است.

هر عنصر یک آرایه دارای یک نوع داده است و دارای همان اندازه است، یعنی int = 4 bytes.
عناصر آرایه در مکان های حافظه مجاور ذخیره می شوند، جایی که عنصر اول در کوچکترین مکان حافظه ذخیره می شود.
عناصر آرایه به صورت تصادفی قابل دسترسی هستند، زیرا ما می توانیم آدرس هر عنصر آرایه را با آدرس پایه داده شده و اندازه عنصر داده محاسبه کنیم.

مزیت آرایه در زبان C

۱) بهینه سازی کد : کد کمتر برای دسترسی به داده ها.

۲) سهولت پیمایش : با استفاده از حلقه، ما می توانیم عناصر یک آرایه را به راحتی بازیابی کنیم.

۳) سهولت مرتب سازی : برای مرتب سازی عناصر آرایه، ما فقط چند خط کد نیاز داریم.

۴) دسترسی تصادفی : ما می توانیم هر عنصر به طور تصادفی با استفاده از آرایه دسترسی داشته باشیم.

ضعف آرایه در زبان C

۱) اندازه ثابت : هر اندازه که ما در زمان اعلام آرایه تعریف می کنیم را نمی توانیم آن را افزایش بدهیم. بنابراین، این اندازه به شکل پویا مانند LinkedList رشد نمی کند.

تعریف آرایه در زبان C

data_type array_name[array_size];

مثال :

int marks[5];

مقداردهی اولیه به آرایه

marks[0]=80;
marks[1]=60;  
marks[2]=70;  
marks[3]=85;  
marks[4]=75;

مثال :

#include<stdio.h>  
int main(){      
int i=0;    
int marks[5];//تعریف آرایه 
marks[0]=80;//مقداردهی اولیه
marks[1]=60;    
marks[2]=70;    
marks[3]=85;    
marks[4]=75;    
//پیمایش آرایه
for(i=0;i<5;i++){      
printf("%d \n",marks[i]);    
}//پایان حلقه For
return 0;  
}

تعریف و مقداردهی اولیه آرایه بصورت همزمان

int marks[5]={20,30,40,50,60};

یا

int marks[]={20,30,40,50,60};

مثال :

#include<stdio.h>  
int main(){      
int i=0;    
int marks[5]={20,30,40,50,60};//تعریف و مقداردهی اولیه
for(i=0;i<5;i++){      
printf("%d \n",marks[i]);    
}    
return 0;  
}

مرتب سازی آرایه

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

#include<stdio.h>    
void main ()    
{    
    int i, j,temp;     
    int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};     
    for(i = 0; i<10; i++)    
    {    
        for(j = i+1; j<10; j++)    
        {    
            if(a[j] > a[i])    
            {    
                temp = a[i];    
                a[i] = a[j];    
                a[j] = temp;     
            }     
        }     
    }     
    printf("Printing Sorted Element List ...\n");    
    for(i = 0; i<10; i++)    
    {    
        printf("%d\n",a[i]);    
    }    
}

 

مثال : برنامه چاپ بزرگترین مقدار آرایه و دومین بزرگترین مقدار

#include<stdio.h>  
void main ()  
{  
    int arr[100],i,n,largest,sec_largest;  
    printf("Enter the size of the array?");  
    scanf("%d",&n);  
    printf("Enter the elements of the array?");  
    for(i = 0; i<n; i++)  
    {  
        scanf("%d",&arr[i]);  
    }  
    largest = arr[0];  
    sec_largest = arr[1];  
    for(i=0;i<n;i++)  
    {  
        if(arr[i]>largest)  
        {  
            sec_largest = largest;  
            largest = arr[i];  
        }  
        else if (arr[i]>sec_largest && arr[i]!=largest)  
        {  
            sec_largest=arr[i];  
        }  
    }  
    printf("largest = %d, second largest = %d",largest,sec_largest);  
      
}

 

 

 

 


توجه : برای دانلود فایل از سایت باید در انجمن وارد شوید.

نظرات

نظرات،سوالات،مشکلات،پیشنهادات خود را از طریق انجمن ارسال بفرمایید