ফাংশন এর বেসিক

ফাংশন – বড় প্রোগ্রামকে আমরা খন্ড খন্ড করে প্রোগ্রামের যেকোন স্থান থেকে ডাক দিয়ে ঐ অংশটুকু কাজ করাতে পারি।

ফাংশন ব্যবহারের সুবিধা

  • একই কোড বার বার লিখতে হয় না
  • যত ইচ্ছা ডাক/কল করা যায়
  • হেন্ডেল করতে সহজ হবে
  • রিড এবিলিটি বাড়ে
  • সি তে উপর থেকে কল করা হয়

ফাংশন দুই প্রকার

  • Library Functions: সি ডিফল্ট ভাবে বানিয়ে রাখছে যে ফাংশন গুলি । যেমন, strlen() strcpy() strcat() strcmp() strrev() ইত্যাদি।
  • User-defined functions: আমাদের প্রয়োজনে যে গুলি আমরা বানাব সেই গুলি।

ফাংশন রিটার্ন টাইপ

void ডাটা টাইপ বাদে সবগুলি ডাটা টাইপ (ইন্টিজার, ক্যারেক্টার ইত্যাদি) এর ফাংশন কিছু না কিছু রিটার্ন করে।

যেমন,

int add(){  
  return 10;  
} 

এই ফাংশন কল করলে আমরা ১০ পাব । চল দেখি কিভাবে কল করা যায়

#include <stdio.h>
int main ()
{
    int a = 0;

    printf("value is %d", a + add());

}
int add(){
    return 10;
}
//আউটপুট value is 10

void ডাটা টাইপ এর ফাংশন হলে কিছু রিটার্ন করবে না। শুধু কাজটি করে দিবে।

যেমন,

#include <stdio.h>
int main ()
{
    hello();

}
void hello(){
    printf("hello c");
}
//আউটপুট hello c

এমন যদি হত আমরা ফাংশন এর সাথে যোগ করার ভ্যালু গুলি দিতে পারতাম। চল আমরা যোগ করি ফাংশন এর আর্গুমেন্ট ব্যবহার করে।

যেন, কল করার সাথে ভ্যালু দিয়ে দিতে পারি।

#include <stdio.h>
int main ()
{
    printf("sum is = %d",sum(4, 50));

}
int sum(int n, int m){
    return n + m;
}
sum is = 54

এর পর যতবার কোডে যোগ এর প্রয়োজন হবে ততবার sum(4, 50) লিখলে হবে এবং নতুন ভ্যালু গুলি দিয়ে দিতে হবে।

এটি ইচ্ছা করলে আমরা ভেরিয়েবল দিয়ে ডুকাতে পারতাম

#include <stdio.h>
int main ()
{
    //এখানে যেকোন নাম দিলে হবে n, m এর সেইম হতে হবে না
    int a = 30, b = 40;
    printf("Enter two number ");
    scanf("%d%d", &amp;a,&amp;b);

    printf("sum is = %d",sum(a, b));

}
int sum(int n, int m){
    return n + m;
}
Enter two number 12 65
sum is = 77

উপরের মেইন ফাংশন রেখে কাজ করলে একটি এরর আসতে পারে নাম নাও চিনতে পারে কম্পাইলার তাহলে int sum(int, int) এই লেখাটা int main () এর উপরে দিয়ে দিলেই হবে।

তাহলে, তোমরা বুঝে গেছ ফাংশন এর বেসিক। বিয়োগ, গুন, ভাগ, মডিউলাস, বর্গ ইত্যাদি করে ফেল,

জোড় কিনা বিজোড় বের দেখি চল

#include<stdio.h>
int even_odd(int);
void main()
{
    int n,flag=0;
    printf("\nCheck  even or odd");
    printf("\nEnter number: ");
    scanf("%d",&amp;n);
    flag = even_odd(n);
    if(flag == 0)
 {
    printf("The number is odd");
 }
 else
 {
    printf("The number is even");
 }
}
int even_odd(int n)
{
    if(n%2 == 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

Check  even or odd
Enter number: 22
The number is even

কাজ

  • সব কোড ফাংশন লিখে কর

Leave a Reply