C++ সম্পূর্ণ অ্যারে ফেরত দেয় না তবে এটি একটি অ্যারেতে পয়েন্টার ফিরিয়ে দিতে পারে। ফাংশনের বাইরে, স্থানীয় ভেরিয়েবলের ঠিকানা ফেরত দেওয়া যাবে না। স্থানীয় পরিবর্তনশীলকে স্ট্যাটিক করে, এটি স্থানীয় পরিবর্তনশীলের ঠিকানা ফেরত দিতে পারে।
একটি পয়েন্টার ফেরত দেওয়ার জন্য নিম্নলিখিত সিনট্যাক্স।
int * function_name() { body }
এখানে,
ফাংশন_নাম − ব্যবহারকারীর দেওয়া ফাংশনের নাম৷
৷একটি ফাংশন থেকে একটি অ্যারে ফেরত দেওয়ার জন্য নিম্নলিখিত একটি উদাহরণ৷
উদাহরণ
#include <iostream> using namespace std; int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " <<&x[i]; } return x; } int main() { ret(); return 0; }
আউটপুট
0x601180 0x601184 0x601188 0x60118c 0x601190
উপরের প্রোগ্রামে, একটি ফাংশন ret() তৈরি করা হয়েছে এবং এটি একটি অ্যারে রিটার্ন করছে। একটি স্ট্যাটিক int টাইপ অ্যারে ঘোষণা করা হয় এবং বরাদ্দকৃত মেমরি ব্লকের ঠিকানা মুদ্রিত হয়।
int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " <<&x[i]; } return x; }
main() ফাংশনে, ফাংশন ret() কে −
বলা হয়ret();