মডিউল ১৫-৭ঃ ফাংশন ইউথ এরে এস রেফারেন্স

আমরা যখন কোন ফাংশনে কোন ভেরিয়েবল পাস করতাম তখন সেটি পাস বাই ভেলু হিসেবে পাস হতো অর্থাৎ কপি হয়ে পাস হতো। তাই পাস করার পর যদি সেই ভেরিয়েবলটির মান চেঞ্জ করে দেওয়া হতো তাহলে মেইন ফাংশন থেকে সেটি চেঞ্জ হয়ে যেত না। এবার আমরা একটি এরে পাস করে ফাংশন থেকে সেই এরের কোন একটি ভেলু চেঞ্জ করে দেখি মেইন ফাংশন থেকেও চেঞ্জ হয়ে যায় কিনা।

#include<stdio.h>
void func(int a[], int n)    // এরে এবং সাইজ প্যারামিটার হিসেবে নেওয়া হচ্ছে। 
{
    a[0] = 100;    // এরের প্রথম ইন্ডেক্সের ভেলু চেঞ্জ করে ১০০ করে দেওয়া হচ্ছে। 
}
int main()
{
    int a[5] = {10,20,30,40,50};
    func(a,5);           // ফাংশন কল করে এরে এবং সাইজ পাস করে দেওয়া হচ্ছে। 
    for(int i=0;i<5;i++)
    {
        printf("%d ",a[i]);   // এরে প্রিন্ট করা হচ্ছে। 
    }
}

কোডটি রান করলে আমরা দেখব ফাংশনের মধ্যে এরের যেই চেঞ্জটি করা হয়েছিল তা মেইন ফাংশন থেকেও পাওয়া যাচ্ছে। কারন এরে আসলে কপি হয়ে পাস হয় না এরে পাস হয় রেফারেন্স হিসেবে। তাই রেফারেন্স হিসেবে পাস হওয়ার পর ডিরেফারেন্স করে যখন তাতে কোন চেঞ্জ করা হচ্ছে তখন সেটি অরিজিনাল এরে থেকেই চেঞ্জ হয়ে যাচ্ছে। তাই মেইন ফাংশন থেকেও চেঞ্জ হয়ে যাচ্ছে।

গিটবুক গুলো আপনাদের কেমন লাগছে? এই ফর্মটি ফিলাপ করে আমাদের জানাতে পারেন। https://forms.gle/VaLLNgM2cWHzsuRV8

Last updated