C ভাষায় ব্যবহৃত বিভিন্ন ধরনের Data Type বর্ণনা করুন।

Updated: 11 months ago
উত্তরঃ

C ভাষায় ডেটা টাইপ (Data Type) হলো ডেটার ধরন নির্ধারণের একটি উপায়, যা কম্পাইলারকে ভেরিয়েবল দ্বারা কতটুকু মেমরি বরাদ্দ করতে হবে এবং সেই মেমরিতে কী ধরনের মান সংরক্ষণ করা হবে তা জানিয়ে দেয়। ডেটা টাইপ প্রোগ্রামের নির্ভুলতা এবং দক্ষতার জন্য অত্যন্ত গুরুত্বপূর্ণ।


C ভাষায় মূলত তিন ধরনের ডেটা টাইপ ব্যবহৃত হয়:

        
  • ১. প্রাইমারি (Primary) বা বিল্ট-ইন (Built-in) ডেটা টাইপ: এগুলো C ভাষার মৌলিক ডেটা টাইপ যা সরাসরি ব্যবহার করা যায়।
  •     
              
    • int (পূর্ণসংখ্যা): পূর্ণসংখ্যা (যেমন, -১, ০, ৫০, ১০০) সংরক্ষণের জন্য ব্যবহৃত হয়। এর আকার সাধারণত ২ বা ৪ বাইট হয়, যা সিস্টেমের উপর নির্ভরশীল। এটি short int, long int, unsigned int ইত্যাদি মডিফায়ার দ্বারা আরও নির্দিষ্ট করা যায়।
    •         
    • char (বর্ণ): একক বর্ণ (যেমন, 'a', 'B', '5', '$') সংরক্ষণের জন্য ব্যবহৃত হয়। এর আকার ১ বাইট এবং এটি ASCII মান হিসেবে সংরক্ষিত হয়। signed char এবং unsigned char মডিফায়ারও রয়েছে।
    •         
    • float (ভাসমান বিন্দু সংখ্যা): দশমিকযুক্ত সংখ্যা (যেমন, ৩.১৪, -১২.৫) সংরক্ষণের জন্য ব্যবহৃত হয়। এটি একক নির্ভুলতা (single precision) প্রদান করে এবং এর আকার সাধারণত ৪ বাইট।
    •         
    • double (দ্বৈত নির্ভুলতা ভাসমান বিন্দু সংখ্যা): float এর চেয়ে বেশি নির্ভুলতা সহ দশমিকযুক্ত সংখ্যা সংরক্ষণের জন্য ব্যবহৃত হয়। এর আকার সাধারণত ৮ বাইট এবং এটি দ্বৈত নির্ভুলতা (double precision) প্রদান করে।
    •         
    • void (শূণ্য): এটি কোনো ডেটা টাইপ নির্দেশ করে না। ফাংশন যখন কোনো মান রিটার্ন করে না বা জেনেরিক পয়েন্টার (void*) ঘোষণার জন্য এটি ব্যবহৃত হয়।
    •     
        
  • ২. ডিরাইভড (Derived) ডেটা টাইপ: এগুলো প্রাইমারি ডেটা টাইপ ব্যবহার করে তৈরি করা হয়।
  •     
              
    • অ্যারে (Arrays): একই ডেটা টাইপের একাধিক উপাদানকে একটি একক নামে সংরক্ষণ করে। উদাহরণস্বরূপ, int numbers[5];
    •         
    • পয়েন্টার (Pointers): অন্য একটি ভেরিয়েবলের মেমরি অ্যাড্রেস সংরক্ষণের জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, int *ptr;
    •         
    • স্ট্রাকচার (Structures): বিভিন্ন ডেটা টাইপের উপাদানকে একটি একক ইউনিটে একত্রিত করে। উদাহরণস্বরূপ, struct Student { char name[50]; int roll; };
    •         
    • ইউনিয়ন (Unions): স্ট্রাকচারের মতো, তবে এর সব সদস্য একই মেমরি লোকেশন শেয়ার করে।
    •     
        
  • ৩. ইউজার-ডিফাইন্ড (User-defined) ডেটা টাইপ: ব্যবহারকারী তার প্রয়োজন অনুযায়ী এই ডেটা টাইপগুলো তৈরি করে।
  •     
              
    • enum (এনুমারেশন): পূর্ণসংখ্যার ধ্রুবকের একটি সেট তৈরি করার জন্য ব্যবহৃত হয়, যা কোডকে আরও পাঠযোগ্য করে তোলে। উদাহরণস্বরূপ, enum Days { Sun, Mon, Tue };
    •         
    • typedef (টাইপডেফ): বিদ্যমান ডেটা টাইপের জন্য একটি নতুন নাম তৈরি করতে ব্যবহৃত হয়, যা কোডকে সরল করতে সাহায্য করে। উদাহরণস্বরূপ, typedef unsigned long UL;
    •     
Satt AI
Satt AI
1 week ago
255

ডেটা টাইপ (Data Type) হলো একটি প্রোগ্রামিং ভাষার একটি মৌলিক উপাদান যা ভেরিয়েবল বা ডেটা স্টোর করার ধরন এবং ফর্ম্যাট নির্ধারণ করে। এটি নির্ধারণ করে যে কী ধরনের তথ্য একটি ভেরিয়েবলে রাখা যাবে এবং সেই তথ্যের ওপর কী ধরনের অপারেশন করা যাবে। ডেটা টাইপ কম্পিউটার প্রোগ্রামিংয়ে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এটি ডেটার সঠিকতা এবং প্রোগ্রামের কার্যকারিতা নিশ্চিত করে।

ডেটা টাইপের প্রধান শ্রেণি:

১. প্রিমিটিভ ডেটা টাইপ (Primitive Data Type):

  • প্রিমিটিভ ডেটা টাইপ হলো মৌলিক বা বিল্ট-ইন ডেটা টাইপ যা অধিকাংশ প্রোগ্রামিং ভাষায় পূর্বনির্ধারিত থাকে। এটি সাধারণত সংখ্যাসূচক, অক্ষর, এবং লজিক্যাল ডেটা স্টোর করতে ব্যবহৃত হয়।

২. নন-প্রিমিটিভ ডেটা টাইপ (Non-Primitive Data Type):

  • নন-প্রিমিটিভ ডেটা টাইপ হলো জটিল ডেটা স্ট্রাকচার যা প্রোগ্রামাররা নিজেদের মতো করে তৈরি করে। এটি সাধারণত প্রিমিটিভ ডেটা টাইপের সমন্বয়ে গঠিত হয় এবং ডেটা সংরক্ষণ ও প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।

প্রিমিটিভ ডেটা টাইপের প্রকারভেদ:

১. ইনটিজার (Integer):

  • ইনটিজার হলো পূর্ণসংখ্যা, যা দশমিক সংখ্যা ছাড়াই ডেটা ধারণ করে। এটি সাধারণত ধনাত্মক বা ঋণাত্মক সংখ্যা হতে পারে। উদাহরণ: int।
  • উদাহরণ: 5, -10, 1000

২. ফ্লোট/ডাবল (Float/Double):

  • ফ্লোট এবং ডাবল হলো দশমিক স্থানসহ সংখ্যা যা ভগ্নাংশ বা দশমিক সংখ্যা ধারণ করতে সক্ষম। ফ্লোট এবং ডাবলের মধ্যে পার্থক্য হলো, ডাবল সাধারণত বেশি সঠিকতা এবং মেমোরি ব্যবহার করে।
  • উদাহরণ: 3.14, -0.567, 2.71828

৩. বুলিয়ান (Boolean):

  • বুলিয়ান ডেটা টাইপ শুধুমাত্র দুটি মান ধারণ করতে পারে: true (সত্য) অথবা false (মিথ্যা)। এটি লজিক্যাল অপারেশন এবং শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়।

৪. ক্যারেক্টার (Character):

  • ক্যারেক্টার ডেটা টাইপ একটি একক অক্ষর ধারণ করে, যা সংখ্যা, অক্ষর, বা বিশেষ চিহ্ন হতে পারে। এটি সাধারণত ASCII বা Unicode ফরম্যাটে থাকে। উদাহরণ: char।
  • উদাহরণ: 'a', '1', '#'

৫. স্ট্রিং (String):

  • স্ট্রিং ডেটা টাইপ একাধিক ক্যারেক্টারের একটি সিরিজ ধারণ করে, যা সাধারণত শব্দ বা বাক্য হিসেবে উপস্থাপন করা হয়। যদিও অনেক প্রোগ্রামিং ভাষায় স্ট্রিং একটি নন-প্রিমিটিভ টাইপ হিসেবে বিবেচিত হয়, তবে কিছু ভাষায় এটি প্রিমিটিভ ডেটা টাইপ হিসেবে বিবেচিত হতে পারে।
  • উদাহরণ: "Hello", "12345", "Welcome!"

নন-প্রিমিটিভ ডেটা টাইপের প্রকারভেদ:

১. অ্যারে (Array):

  • অ্যারে হলো এক ধরনের ডেটা স্ট্রাকচার যা একাধিক ডেটা এলিমেন্ট একই ডেটা টাইপের অধীনে স্টোর করে। এটি ইনডেক্স ব্যবহার করে ডেটা অ্যাক্সেস করতে সক্ষম।
  • উদাহরণ: [10, 20, 30] বা ["apple", "banana", "cherry"]

২. স্ট্রাকচার (Structure):

  • স্ট্রাকচার হলো একাধিক ভিন্ন ডেটা টাইপের কম্বিনেশন, যা একটি একক এন্টিটি হিসেবে ব্যবহার করা হয়। এটি সাধারণত struct কীওয়ার্ড ব্যবহার করে তৈরি করা হয়।
  • উদাহরণ:

struct Person {
   char name[50];
   int age;
   float salary;
};
 

৩. ক্লাস (Class):

  • ক্লাস হলো একটি জটিল ডেটা টাইপ যা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে ব্যবহৃত হয়। এটি প্রপার্টি এবং মেথডের মাধ্যমে ডেটা এবং ফাংশন একত্রিত করে।
  • উদাহরণ:

class Person:
   def __init__(self, name, age):
       self.name = name
       self.age = age

৪. লিংকড লিস্ট (Linked List):

  • লিংকড লিস্ট হলো এক ধরনের ডেটা স্ট্রাকচার যা ডেটা এলিমেন্টকে নোড হিসেবে সংরক্ষণ করে এবং প্রতিটি নোড তার পরবর্তী নোডের রেফারেন্স ধারণ করে।

৫. ডিকশনারি বা ম্যাপ (Dictionary/Map):

  • ডিকশনারি বা ম্যাপ হলো কী-ভ্যালু (Key-Value) পেয়ারের একটি সংগ্রহ, যা দ্রুত এবং কার্যকরভাবে ডেটা সংরক্ষণ এবং অ্যাক্সেস করতে ব্যবহৃত হয়।
  • উদাহরণ (Python):

student = {
   "name": "John",
   "age": 21,
   "grade": "A"
}
 

ডেটা টাইপের গুরুত্ব:

১. মেমোরি ব্যবস্থাপনা:

  • ডেটা টাইপ নির্ধারণ করে যে একটি ভেরিয়েবলের জন্য কত মেমোরি বরাদ্দ করা হবে। এটি প্রোগ্রামের কার্যকারিতা এবং মেমোরি ব্যবহারের সঠিকতা নিশ্চিত করে।

২. ডেটা সঠিকতা নিশ্চিতকরণ:

  • ডেটা টাইপ প্রোগ্রামের ডেটা সঠিকভাবে পরিচালনা এবং প্রক্রিয়াকরণে সহায়ক। এটি নিশ্চিত করে যে ডেটা সঠিক ফরম্যাটে এবং উপযুক্ত আকারে আছে।

৩. কোডের সঠিকতা ও নির্ভুলতা:

  • ডেটা টাইপের মাধ্যমে প্রোগ্রামাররা সুনির্দিষ্টভাবে ডেটা সংরক্ষণ এবং পরিচালনা করতে পারে, যা কোডের ত্রুটি কমায় এবং কোডের কার্যকারিতা বাড়ায়।

৪. পারফরম্যান্স বৃদ্ধি:

  • ডেটা টাইপ সঠিকভাবে ব্যবহারের মাধ্যমে প্রোগ্রামের পারফরম্যান্স উন্নত করা যায়। উদাহরণস্বরূপ, ইনটিজার বা ফ্লোট ডেটা টাইপ ব্যবহারের মাধ্যমে গণনা দ্রুত সম্পন্ন করা যায়।

সারসংক্ষেপ:

ডেটা টাইপ প্রোগ্রামিং ভাষার একটি মৌলিক উপাদান যা ভেরিয়েবল বা ডেটা স্টোর করার ধরন এবং ফর্ম্যাট নির্ধারণ করে। এটি প্রিমিটিভ এবং নন-প্রিমিটিভ ধরনের হতে পারে, এবং প্রতিটি ডেটা টাইপের একটি নির্দিষ্ট উদ্দেশ্য এবং ব্যবহার আছে। ডেটা টাইপ সঠিকভাবে ব্যবহারের মাধ্যমে প্রোগ্রামের মেমোরি ব্যবস্থাপনা, কার্যকারিতা, এবং পারফরম্যান্স বৃদ্ধি করা যায়।

শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র

Related Question

মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews