خروجی تابع از نوع آرایه در زبان C++
در زبان برنامه نویسی C++ به منظور بازگشت دادن یک آرایه از یک تابع باید نوع خروجی آن تابع از نوع اشاره گر باشد. برای این که بتوانید یک آرایه را به عنوان خروجی یک تابع بازگشت دهید، باید آن را به این صورت تعریف کنید:
int * myFunction() { . . . }
نکته مهمی که باید به آن توجه کنید این است که زبان C++ نمی تواند آدرس متغیری که در بلوک خودش است (یعنی به عنوان متغیر محلی آن تابع است) را به خارج از تابع بفرستد. بنابراین آرایه ایی که قرار است بازگشت داده شود باید به صورت static تعریف شود.
در حال حاضر، تابع زیر را در نظر بگیرید که ۱۰ عدد تصادفی تولید می کند و آن ها را در قالب یک آرایه باز می گرداند.
#include <iostream> #include <ctime> using namespace std; // function to generate and retrun random numbers. int * getRandom( ) { static int r[10]; // set the seed srand( (unsigned)time( NULL ) ); for (int i = 0; i < 10; ++i) { r[i] = rand(); cout << r[i] << endl; } return r; } // main function to call above defined function. int main () { // a pointer to an int. int *p; p = getRandom(); for ( int i = 0; i < 10; i++ ) { cout << "*(p + " << i << ") : "; cout << *(p + i) << endl; } return 0; }
امتحان کنید
زمانی که کد بالا توسط کامپایلر زبان C++ اجرا شود، نتیجه زیر را تولید خواهد کرد:
624723190 1468735695 807113585 976495677 613357504 1377296355 1530315259 1778906708 1820354158 667126415 *(p + 0) : 624723190 *(p + 1) : 1468735695 *(p + 2) : 807113585 *(p + 3) : 976495677 *(p + 4) : 613357504 *(p + 5) : 1377296355 *(p + 6) : 1530315259 *(p + 7) : 1778906708 *(p + 8) : 1820354158 *(p + 9) : 667126415
نوشته خروجی تابع از نوع آرایه در زبان C++ – آموزش زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.