কম্পিউটার

সি ভাষায় অ্যারের সীমাবদ্ধতা কি?


অ্যারেগুলি হল এক ধরনের ডেটা স্ট্রাকচার যা একই ধরনের উপাদানগুলির একটি নির্দিষ্ট-আকারের অনুক্রমিক সংগ্রহ সংরক্ষণ করতে পারে৷

একটি অ্যারে ডেটা সংগ্রহের জন্য ব্যবহার করা হয়, তবে একই ধরণের ভেরিয়েবলের সংগ্রহ হিসাবে একটি অ্যারেকে ভাবতে প্রায়ই এটি বেশি কার্যকর।

সীমাবদ্ধতা

একটি অ্যারের সীমাবদ্ধতা নীচে ব্যাখ্যা করা হয়েছে −

  • একটি অ্যারে যা গঠিত হয় একজাতীয় হবে। অর্থাৎ, একটি পূর্ণসংখ্যা অ্যারেতে শুধুমাত্র পূর্ণসংখ্যার মানগুলি সংরক্ষণ করা যেতে পারে, যখন একটি ফ্লোট অ্যারেতে শুধুমাত্র ফ্লোটিং মান এবং অক্ষর অ্যারেতে শুধুমাত্র অক্ষর থাকতে পারে। এইভাবে, কোনো অ্যারেতে দুটি ডেটা প্রকারের মান থাকতে পারে না।

  • একটি অ্যারে ঘোষণা করার সময়, একটি অ্যারের আকার পাস করা বাধ্যতামূলক, এবং আকার অবশ্যই একটি ধ্রুবক হতে হবে। সুতরাং, স্মৃতিশক্তির ঘাটতি বা অপচয় হয়।

  • একটি অ্যারেতে উপাদান সন্নিবেশ বা মুছে ফেলার জন্য স্থানান্তর প্রয়োজন৷

  • একটি অ্যারে সীমানা পরীক্ষা করে না:C ভাষায়, আমরা পরীক্ষা করতে পারি না, যদি একটি অ্যারেতে প্রবেশ করা মানগুলি সেই অ্যারের আকারের চেয়ে বেশি হয় কি না৷

  • সাবস্ক্রিপ্টের সাথে প্রবেশ করা ডেটা, অ্যারের আকার অতিক্রম করে এবং অ্যারের বাইরে রাখা হবে। সাধারণত, ডেটা বা প্রোগ্রামের উপরে।

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

এইভাবে, নিম্নলিখিত প্রোগ্রামটি অবাঞ্ছিত ফলাফল দিতে পারে -

int a[10],i;
for(i=0;i<=20;i++)
a[i]=i;

উদাহরণ

দুটি অ্যারে -

এর যোগফল প্রদর্শনের জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
void main(){
   //Declaring array with compile time initialization//
   int array1[5],array2[5],sum[5];
   //Declaring variables//
   int i;
   //Printing O/p using for loop//
   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 :
array1[0] :2
array1[1] :3
array1[2] :1
array1[3] :2
array1[4] :3
Enter the values of array2 :
array2[0] :4
array2[1] :5
array2[2] :3
array2[3] :2
array2[4] :1
Elements in the sum of array1 and array2 are: 6 8 4 4 4

  1. সি টোকেন কি?

  2. সি ভাষায় সারিতে সন্নিবেশ করা উপাদানগুলি কী কী?

  3. সি ভাষায় শিফট অপারেশন কি কি?

  4. সি ভাষায় বিভিন্ন অনুসন্ধান কৌশল কি কি?