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

সি ভাষায় অ্যারের সীমাবদ্ধতা (Limitations of Array)


অ্যারে হলো ফিক্সড সাইজ সিকোয়েনশিয়াল কালেকশন যা একই টাইপের উপাদান ধারণ করে।

অ্যারের সীমাবদ্ধতা

  • হোমোজিনাস (Homogeneous): ইন্টিজার অ্যারেতে শুধু ইন্টিজার, ফ্লোট অ্যারেতে শুধু ফ্লোট রাখা যায়। দুটি ডেটা টাইপ একসাথে রাখা যায় না।
  • ফিক্সড সাইজ: ডিক্লেয়ারেশনের সময় সাইজ নির্দিষ্ট করতে হয় এবং সেটা কনস্ট্যান্ট হতে হবে। ফলে মেমরির অভাব বা অপচয় হয়।
  • শিফটিং প্রয়োজন: উপাদান ইনসার্ট বা ডিলিট করলে শিফটিং করতে হয়।
  • বাউন্ডারি চেক নেই: সি ভাষায় অ্যারে বাউন্ডারি চেক করে না। সাইজ ছাড়িয়ে ডেটা লিখলে অনপ্রিডিক্টেবল ফলাফল বা প্রোগ্রাম হ্যাং করতে পারে।
  • এরর মেসেজ নেই: বাউন্ডের বাইরে যাওয়ার জন্য কোনো ওয়ার্নিং থাকে না।

উদাহরণ অনিচ্ছাকৃত ফলাফল:

int a[10], i;
for(i=0; i<=20; i++)
    a[i] = i; // অ্যারে বাউন্ড ছাড়িয়ে লেখা হচ্ছে

উদাহরণ প্রোগ্রাম: দুটি অ্যারের যোগফল

#include<stdio.h>
void main() {
    int array1[5], array2[5], sum[5], i;
    printf("Enter the values of array1 :\n");
    for(i=0; i<5; i++) {
        printf("array1[%d] : \n", i);
        scanf("%d", &array1[i]);
    }
    printf("Enter the values of array2 :\n");
    for(i=0; i<5; i++) {
        printf("array2[%d] :\n", i);
        scanf("%d", &array2[i]);
    }
    printf("Elements in the sum of array1 and array2 are:\n ");
    for(i=0; i<5; i++) {
        sum[i] = array1[i] + array2[i];
        printf("%d ", sum[i]);
    }
}

আউটপুট

Enter the values of array1 : 2 3 1 2 3
Enter the values of array2 : 4 5 3 2 1
Elements in the sum of array1 and array2 are: 6 8 4 4 4
  1. সি ভাষায় টোকেন (Tokens) কী?

  2. C ভাষায় কিউ (Queue) তে এলিমেন্ট ইনসার্ট করার পদ্ধতি

  3. সি ভাষায় শিফট অপারেশন (লেফট, রাইট শিফট এবং কমপ্লিমেন্ট)

  4. সি ভাষায় বিভিন্ন সার্চিং টেকনিক কী কী?