কম্পিউটার টিউটোরিয়াল

সি ভাষায় typedef কীওয়ার্ড দিয়ে স্ট্রাকচার ব্যবহার

typedef কীওয়ার্ড

typedef দিয়ে বিদ্যমান ডেটা টাইপের জন্য নতুন নাম তৈরি করা যায়। এটি নতুন ডেটা টাইপ তৈরি করে না, বরং একটি এলিয়াস (alias) তৈরি করে।

সিনট্যাক্স

typedef existing_type new_name;

সadə উদাহরণ

typedef int hours;
hours h; // এখন h হলো int টাইপের ভেরিয়েবল
h = 2;
printf("Minutes = %d", h * 60); // 120

প্রোগ্রাম: ঘন্টা থেকে মিনিট/সেকেন্ড

#include <stdio.h>

int main() {
    typedef int hours;
    hours h;

    printf("Enter hours: ");
    scanf("%d", &h);

    printf("Minutes = %d\n", h * 60);
    printf("Seconds = %d\n", h * 3600);

    return 0;
}

আউটপুট

Enter hours: 1
Minutes = 60
Seconds = 3600

typedef দিয়ে স্ট্রাকচার সংজ্ঞায়িত করা

স্ট্রাকচার ট্যাগের পাশাপাশি typedef ব্যবহার করলে ভেরিয়েবল ঘোষণায় struct কীওয়ার্ড লাগে না।

typedef struct employee {
    int eno;
    char ename[30];
    float sal;
} emp; // 'emp' হলো নতুন টাইপ নাম

int main() {
    emp e = {10, "ramu", 5000}; // struct employee e; লিখতে হয় না
    printf("Number = %d\n", e.eno);
    printf("Name   = %s\n", e.ename);
    printf("Salary = %.2f\n", e.sal);
    return 0;
}

আউটপুট

Number = 10
Name   = ramu
Salary = 5000.00

typedef এর সুবিধা

  • কোড পড়া সহজ হয় (উদাহরণ: typedef struct node* NodePtr;)।
  • প্ল্যাটফর্ম-স্বতন্ত্র ডেটা টাইপ ডিফাইন করা যায় (যেমন int32_t, uint8_t)।
  • জটিল পয়েন্টার টাইপ সিম্পল করতে হেল্প করে।
  1. সি ভাষায় পয়েন্টার দিয়ে অ্যারিথমেটিক অপারেশন

  2. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা

  3. C ভাষায় else-if ল্যাডার স্টেটমেন্ট ব্যাখ্যা

  4. স্ট্রাকচার কনসেপ্ট ব্যবহার করে সি ভাষায় বিট ফিল্ড ব্যাখ্যা