خروجی تابع از نوع آرایه در زبان C – آموزش زبان C

c return arrays from function 4185 خروجی تابع از نوع آرایه در زبان C   آموزش زبان C

خروجی تابع از نوع آرایه در زبان C

در زبان برنامه نویسی C به منظور بازگشت دادن یک آرایه از یک تابع باید نوع خروجی آن تابع از نوع اشاره گر باشد. برای این که بتوانید یک آرایه را به عنوان خروجی یک تابع بازگشت دهید، باید آن را به این صورت تعریف کنید:

int * myFunction() {
.
.
.
}

نکته مهمی که باید به آن توجه کنید این است که زبان C نمی تواند آدرس متغیری که در بلوک خودش است (یعنی به عنوان متغیر محلی آن تابع است) را به خارج از تابع بفرستد. بنابراین آرایه ایی که قرار است بازگشت داده شود باید به صورت static تعریف شود.

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

#include <stdio.h>
/* function to generate and return random numbers */
int * getRandom( ) {
   static int  r[10];
   int i;
   /* set the seed */
   srand( (unsigned)time( NULL ) );
   for ( i = 0; i < 10; ++i) {
      r[i] = rand();
      printf( "r[%d] = %d\n", i, r[i]);
   }
   return r;
}
/* main function to call above defined function */
int main () {
   /* a pointer to an int */
   int *p;
   int i;
   p = getRandom();
   for ( i = 0; i < 10; i++ ) {
      printf( "*(p + %d) : %d\n", i, *(p + i));
   }
   return 0;
}

امتحان کنید

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

r[0] = 313959809
r[1] = 1759055877
r[2] = 1113101911
r[3] = 2133832223
r[4] = 2073354073
r[5] = 167288147
r[6] = 1827471542
r[7] = 834791014
r[8] = 1901409888
r[9] = 1990469526
*(p + 0) : 313959809
*(p + 1) : 1759055877
*(p + 2) : 1113101911
*(p + 3) : 2133832223
*(p + 4) : 2073354073
*(p + 5) : 167288147
*(p + 6) : 1827471542
*(p + 7) : 834791014
*(p + 8) : 1901409888
*(p + 9) : 1990469526

نوشته خروجی تابع از نوع آرایه در زبان C – آموزش زبان C اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

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

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