সি প্রোগ্রামিং এইচটিএমএল সিএসএস জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল
ফোরাম
×

 সি টিউটোরিয়াল

সি প্রোগ্রামিং কি? সি এর ইতিহাস সি এর বৈশিষ্ট্যসমূহ কেন সি শিখবেন? সি ইন্সটলেশন প্রথম সি প্রোগ্রাম সি প্রোগ্রামের ফ্লো প্রোগ্রামিং শেখার সঠিক পদ্ধতি সি কীওয়ার্ড সি আইডেন্টিফায়ার সি ভ্যারিয়েবল সি কনস্ট্যান্ট সি ডাটা টাইপ সি মোডিফায়ার সি ইনপুট/আউটপুট সি অপারেটর সি কমেন্ট সি অপারেটর অগ্রাধিকার

সি কন্ট্রোল স্টেটমেন্ট

সি ইফ সি ইফ...ইলস সি ফর লুপ সি হোহাইল লুপ সি ডু...হোহাইল লুপ সি ব্রেক সি কন্টিনিউ সি সুইচ স্টেটমেন্ট সি goto স্টেটমেন্ট

 সি ফাংশন

সি ফাংশন পরিচিতি সি ইউজার কর্তৃক ফাংশন সি ফাংশন টাইপ সি রিকার্সন সি ভ্যারিয়েবল স্কোপ

 সি অ্যারে

সি অ্যারে পরিচিতি সি মালটি-ডাইমেনশনাল অ্যারে সি অ্যারে ফাংশন

 সি স্ট্রিং

সি স্ট্রিং সি স্ট্রিং ফাংশন

 সি পয়েন্টার

সি পয়েন্টার পরিচিত সি পয়েন্টার অ্যারে সি পয়েন্টার ফাংশন সি মেমোরি ম্যানেজমেন্ট

 সি ফাইল এবং স্ট্রাকচার

স্ট্রাকচার পরিচিত স্ট্রাকচার ও পয়েন্টার সি স্ট্রাকচার ও ফাংশন সি ইউনিয়ন ফাইল হ্যান্ডেলিং

 সি অতিরিক্ত টিউটোরিয়াল

সি লাইব্রেরী সি প্রিপ্রোসেসর এবং ম্যাক্রো সি ইনুমিরেশন সি এরর নিয়ন্ত্রণ সি টাইপ কাস্টিং সি বিট ফিল্ড সি ভ্যারিয়েবল আর্গুমেন্ট সি কমান্ড লাইন আর্গুমেন্ট

 

সি প্রোগ্রামিং এ ফাংশনের মধ্য দিয়ে array অতিক্রম করানো


এই অধ্যায়ে আপনি ফাংশনের মধ্য দিয়ে array কে অতিক্রম(pass) করানো এবং আপনার প্রোগ্রামে array এর ব্যবহার শিখবেন। সুতরাং এই অধ্যায় শেষে আপনি one-dimensional এবং multi-dimensional উভয় array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানো শিখবেন।

সি প্রোগ্রামিং এ array এর একটি এলিমেন্টকে অথবা সম্পূর্ণ array কে ফাংশনের মধ্যে দিয়ে অতিক্রম করানো যায়।

one-dimensional এবং multi-dimensional উভয় array এর জন্য এই কাজটি করা যায়।


One-dimensional Array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানো

ফাংশনের মধ্য দিয়ে ভ্যারিয়েবলকে যে পদ্ধিতিতে অতিক্রম(pass) করানো হয়, একই পদ্ধতিতে array এর একটি একক এলিমেন্টকেও অতিক্রম করানো যায়।

ফাংশনের মধ্য দিয়েে array এর একটি একক এলিমেন্টকে অতিক্রম করানোর জন্য প্রোগ্রাম

#include <stdio.h>
void display(int age)
{
    printf("%d", age);
}

int main()
{
    int ageArray[] = { 2, 3, 4 };
    display(ageArray[1]);
    // array এলিমেন্ট ageArray[1] কে শুধুমাত্র ফাংশনের  অতিক্রম করানো হয়েছে। 
    return 0;
}

আউটপুট

3

একটি সম্পূর্ণ one-dimensional array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানো

ফাংশনের মধ্য দিয়ে array-কে আর্গুমেন্ট(argument) হিসাবে অতিক্রম করানো হলে শুধুমাত্র array এর নাম অতিক্রম হয়। অর্থাৎ মেমোরি এরিয়ার একেবারে শুরু থেকে আর্গুমেন্ট হিসাবে অতিক্রম করে।


ব্যক্তির বয়স সম্বলিত array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানোর জন্য সি প্রোগ্রাম। এই ফাংশনের মাধ্যমে ব্যক্তির গড় বয়স নির্ণয় করে main ফাংশনের মাধ্যমে ডিসপ্লে(display) করানো হয়।

#include <stdio.h>
float average(float age[]);

int main()​
{
    float avg, age[] = { 23.4, 55, 22.6, 3, 40.5, 18 };
    avg = average(age); /* শুধুমাত্র array এর নামকে আর্গুমেন্ট হিসাবে অতিক্রম করানো হয়। */
    printf("Average age=%.2f", avg);
    return 0;
}

float average(float age[])
{
    int i;
    float avg, sum = 0.0;
    for (i = 0; i < 6; ++i) {
        sum += age[i];
    }
    avg = (sum / 6);
    return avg;
}

আউটপুট

Average age=27.08

multi-dimensional array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানো

tow-dimensional array কে আর্গুমেন্ট হিসাবে ফাংশনের মধ্য দিয়ে অতিক্রম(passed) করানোর সময় one-dimensional array এর মতই সংরক্ষিত মেমোরি এরিয়ার একেবারে শুরু থেকে অতিক্রম করে।


উদাহরণঃ two-dimensional array কে ফাংশনের মধ্য দিয়ে অতিক্রম করানো

#include <stdio.h>
void displayNumbers(int num[2][2]);
int main()
{
    int num[2][2], i, j;
    printf("Enter 4 numbers:\n");
    for (i = 0; i < 2; ++i)
        for (j = 0; j < 2; ++j)
            scanf("%d", &num[i][j]);
    // multi-dimensional array কে  displayNumbers ফাংশনের মধ্য দিয়ে অতিক্রম করানো
    displayNumbers(num);
    return 0;
}

void displayNumbers(int num[2][2])
{
    
    // উপরের লাইন ছাড়া void displayNumbers(int num[][2])-ও বৈধ।
    int i, j;
    printf("Displaying:\n");
    for (i = 0; i < 2; ++i)
        for (j = 0; j < 2; ++j)
            printf("%d\n", num[i][j]);
}

আউটপুট

Enter 4 numbers:
2
3
4
5
Displaying:
2
3
4
5