( تعداد نمایش : 1757 )

ارزش دهی اولیه به آرایه ها – آموزش سی قسمت نوزدهم

ارزش دهی اولیه به آرایه ها

گاهی ممکن است در هنگام تعریف آرایه ها خواسته باشیم مقادیری را نیز به آنها
نسبت بدهیم . به این مقادیر ارزش های اولیه آرایه می گوییم . باید توجه داشت
که فقط آرایه های دارای کلاس های حافظه staticو externو می توانند مقادیر اولیه
را بپذیرند . برای ارزش دهی اولیه به آرایه ها از روش کلی زیر می توان استفاده
کرد : }
مقادیر]={طول بعدnام [..].طول بعد دوم ][طول بعداول [ <کلاس حافظه ><نوع><اسم آرایه >

در روش کلی فوق ، کلاس حافظه ، یکی از کلاس های static و یا extern است و
مقادیر که در داخل {} قرار می گیرند بترتیب به عناصر آرایه نسبت داده می شوند.
یعنی اولین مقدار به اولین عنصر ، دومین مقدار به دومین عنصر و n امین مقدار
به n امین عنصر آرایه نسبت داده می شوند .
در مورد ارزش دهی اولیه به آرایه ها ، باید دو نکته زیر را در نظر گرفت : ۱
اگر طول آرایه مشخص شود و تعداد مقادیری که به آرایه نسبت داده می شوند
کمتر از تعداد عناصر آرایه باشند ، بقیه عناصر صفر فرض خواهند شد . ۲
اگر طول آرایه مشخص نشود ، به تعداد مقادیری که به آرایه نسبت داده
می شوند ، منظور خواهد شد .

مثال ۱: نمونه ای از ارزش دهی اولیه به آرایه های یک بعدی . main)(
{
int i ;
static int array[5]={10/5/15/20/25};
static int table[]={5/6/8/9/11} ;
static int mix[5]={0} ;
printf(“\n\t tehe result of ” );
printf(“operation is:\n\n\t” );
for(i=0 ; i<4 ; i++)
{
mix[i]=array[i]+table[i] ;
printf(“%d\t”/mix[i] );
}
printf(“%d\t”/mix[4] );
}

خروجی برنامه مثال ۱ : the result of operation is:
15 11 23 29 0

در مثال ۱ اولین دستور ، آرایه ای از نوع صحیح با کلاس حافظه static را تعریف
می کند که طول آن ۵ بوده و مقادیر ۲۵ ، ۲۰ ، ۱۵، ۵، و ۱۰ را به عناصر آن نسبت
می دهد . دومین دستور ، آرایه ای بنام table را با طول نامشخص تعریف می کند و
و پنج مقدار ۵، ۶،، ۸،، ۹، و ۱۱ را به آن نسبت می دهد ، لذا کامپایلر طول این
را ۵ فرض خواهد کرد . سومین دستور آرایه ای بنام mix را با طول ۵ تعریف می کند
و به کلیه عناصر آن مقدار صفر را نسبت می دهد .
برای ارزش دهی اولیه آرایه دو بعدی و یا چند بعدی به دو روش می توان عمل
کرد . این دو روش با ذکر مثالی تشریح می شود .

مثال ۲: دستوراتی که به دو روش ، آرایه دو بعدی را ارزش اولیه می دهد : static int array[2][3]={1/2/3/4/5/6} ;
static int table[2][3]={3/4} ;
static int mix[2][3]={{1/2/3}/{4/5/6}};

اولین دستور، آرایه دو بعدی به ابعاد ۲ x 3 را تعریف کرده و مقادیر ۱، ۲، و ۳
به سطر اول و مقادیر ۴، ۵،و ۶و به سطر دوم نسبت داده می شوند . دومین دستور
مثال ۲ آرایه ای دو بعدی با ابعاد ۲ x 3 را تعریف می کند و دو مقدار۳و ۴و را به
آن نسبت می دهد که ۳ در محل table[1][1]و ۴و در محل table[1][2] قرار می گیرد
و بقیه عناصر آن صفر خواهند بود .
دستور سوم روش دیگری برای دستور اول است .

مثال ۳: نمونه ای از ارزش دهی اولیه به آرایه سه بعدی . static intthreed[3][2][4]=
{{{1.2.3.4}/
{5/6/7/8}/}/
{{7/9/3/2}/
{4/6/8/3}/}/
{{7/2/6/3}/

دیدگاه خود را بیان کنید.

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