এই পাঠ শেষে যা যা শিখতে পারবে-
- ১। অ্যারে ব্যাখ্যা করতে পারবে।
- ২। অ্যারের প্রকারভেদ ব্যাখ্যা করতে পারবে।
- ৩। অ্যারে ঘোষণা ও এর মান নির্ধারণ করতে পারবে।
- ৪। অ্যারে ব্যবহারের সুবিধা এবং অসুবিধাসমূহ ব্যাখ্যা করতে পারবে।
অ্যারেঃ অ্যারে হলো এক ধরণের ডেটা স্ট্রাকচার, যা একই ধরনের বা সমপ্রকৃতির চলকের সমাবেশ। অ্যারে একটি ডিরাইভড ডেটা টাইপ। একই টাইপের অনেকগুলো চলক নিয়ে কাজ করার প্রয়োজন হলে তখন চলক ঘোষনার পরিবর্তে অ্যারে ঘোষণা করা হয়। অ্যারেকে সাধারণত দুই ভাগে ভাগ করা হয়। যথা:
- ১। একমাত্রিক অ্যারে
- ২। বহুমাত্রিক অ্যারে (দ্বিমাত্রিক অ্যারে,..)
একমাত্রিক অ্যারে: একমাত্রিক অ্যারে হলো এক ধরণের লিনিয়ার অ্যারে। অ্যারের অন্তর্ভুক্ত উপাদান বা ডেটাগুলো যদি একটি মাত্র কলাম ও একাধিক সারি অথবা একটি মাত্র সারি এবং একাধিক কলামে উপস্থাপন করা হয় তাকে একমাত্রিক অ্যারে বলা হয়। একমাত্রিক অ্যারে ঘোষণার ফরম্যাটঃ
Data_Type Array_Name [ array_size ];
array_size বলতে বুঝায় অ্যারেতে কয়টি চলক থাকবে। এই array_size অবশ্যই একটি পূর্ণসংখ্যা হতে হবে এবং এর মান শূন্য(০) এর চেয়ে বড় হতে হবে। Array_Name লেখার ক্ষেত্রে চলক ঘোষণার নিয়ম মেনে লিখতে হবে। Data_Type বলতে বুঝায় চলকগুলোতে কী ধরণের ডেটা থাকবে এবং এটি ‘সি’ ভাষার যেকোন বৈধ্য ডেটা টাইপ হতে পারে।
উদাহরণঃ
- int id [5];
- float marks[5];
ব্যাখ্যাঃ যখন int id [5]; অ্যারে ঘোষণা করা হয়, তখন int টাইপের নিচের মত পাঁচটি চলক ঘোষণা হয়।
- int id [0];
- int id [1];
- int id [2];
- int id [3];
- int id [4];
অ্যারের মান নির্ধারণঃ অ্যারের মান তিনটি উপায়ে নির্ধারন করা যায়। যথা-
- ১। অ্যারে ঘোষণার সময়
- ২। অ্যারে ঘোষণার পরে
- ৩। প্রোগ্রাম নির্বাহের সময়
অ্যারে ঘোষণার সময় মান নির্ধারণঃ int id [5]; এই অ্যারের মান অ্যারে ঘোষণার সময় নিমোক্ত উপায়ে নির্ধারণ করা যায়।
int id [5]={101, 102, 103, 104, 105};
মানগুলো অ্যারেতে নিমোক্ত ভাবে নির্ধারণ হবে-
- int id [0]=101;
- int id [1]=102;
- int id [2]=103;
- int id [3]=104;
- int id [4]=105;
অ্যারে ঘোষণার পরে মান নির্ধারণঃ int id [5]; এই অ্যারের মান অ্যারে ঘোষণার পর নিমোক্ত উপায়ে নির্ধারণ করা যায়।
int id [5]; // অ্যারে ঘোষণা
তারপর অ্যারের মান নির্ধারণ-
- id [0]=101;
- id [1]=102;
- id [2]=103;
- id [3]=104;
- id [4]=105;
প্রোগ্রাম নির্বাহের সময় মান নির্ধারণঃ অ্যারের সিঙ্গেল চলকের মান নির্ধারণ করা যায়। আবার লুপ স্টেটমেন্ট ব্যবহার করে অ্যারের সবগুলো চলকের মানও নির্ধারণ করা যায়। লুপ ব্যবহার করে int id [5]; অ্যারের মান নির্ধারণ-
#include<stdio.h> #include<conio.h> main() { int i; int id[5]; for(i=0; i<5; i++) { printf("Enter id"); scanf("%d",&id[i]); } getch(); }
দ্বিমাত্রিক অ্যারে: যে অ্যারের উপাদানগুলো একই সাথে একাধিক সারি ও একাধিক কলামে উপস্থাপন করা হয় তাকে দ্বিমাত্রিক অ্যারে বলা হয়। দ্বিমাত্রিক অ্যারে ঘোষণার ফরম্যাটঃ
Data_Type Array_Name [ row_size ][ column_size ];
row_size এবং column_size যথাক্রমে দ্বিমাত্রিক অ্যারের সারি এবং কলাম সংখ্যা বুঝায়। এই row_size এবং column_size অবশ্যই একটি পূর্ণসংখ্যা হতে হবে এবং এর মান শূন্য(০) এর চেয়ে বড় হতে হবে। Array_Name লেখার ক্ষেত্রে চলক ঘোষণার নিয়ম মেনে লিখতে হবে। Data_Type বলতে বুঝায় চলকগুলোতে কী ধরণের ডেটা থাকবে এবং এটি ‘সি’ ভাষার যেকোন বৈধ্য ডেটা টাইপ হতে পারে।
উদাহরণঃ একটি 3×4 ম্যাট্রিক্স এর ডেটাগুলো অ্যারেতে রাখার জন্য নিমোক্ত ভাবে দ্বিমাত্রিক অ্যারে ঘোষণা করতে হবে-
int mat [3][4];
অ্যারে ব্যবহারের সুবিধা:
- ১। একই প্রকৃতির অনেকগুলো ডেটা আইটেম একটি সিঙ্গেল নামের মাধ্যমে উপস্থাপন করা যায়।
- ২। বিভিন্ন ডেটা স্ট্রাকচার যেমন- লিংক লিস্ট, স্ট্যাক, কিউ, ট্রি, গ্রাফ ইত্যাদি বাস্তবায়নে অ্যারে ব্যবহার করা যায়।
- ৩। প্রোগ্রাম নির্বাহ দ্রুত হয়।
- ৪। উপাদানগুলোর জন্য অতিরিক্ত মেমোরি স্পেস বরাদ্ধ করে না। ফলে অ্যারেতে মেমোরি ওভারফ্লো ও মেমোরি আন্ডারফ্লো হয় না।
- ৫। দ্বিমাত্রিক অ্যারের সাহায্যে ম্যাট্রিক্স উপস্থাপন করা যায়।
অ্যারে ব্যবহারের অসুবিধা:
- ১। অ্যারেতে কতোগুলো উপাদান থাকবে তা পূর্বে থেকেই জানা থাকতে হয়।
- ২। অ্যারে একটি স্ট্যাটিক স্ট্রাকচার। অর্থাৎ প্রোগ্রাম নির্বাহের সময়ে ঘোষণাকৃত অ্যারের সাইজ কখনো পরিবর্তন করা যায় না।
- ৩। যেহেতু অ্যারের সাইজ পরিবর্তন করা যায় না, তাই প্রকৃত ডেটা অপেক্ষা অ্যারের সাইজ অনেক বেশি ঘোষণা করলে মেমোরির অপচয় হবে। আবার প্রকৃত ডেটা অপেক্ষা অ্যারের সাইজ কম ঘোষণা করলেও সমস্যা সৃষ্টি করতে পারে।
- ৪। অ্যারের উপাদানগুলো মেমোরিতে পাশাপাশি অবস্থান করে। তাই ডেটা ইনসার্ট এবং ডিলেট করা কঠিন এবং সময় সাপেক্ষ।
পাঠ মূল্যায়ন-
জ্ঞানমূলক প্রশ্নসমূহঃ
- ক। অ্যারে কী?
অনুধাবনমূলক প্রশ্নসমূহঃ
- খ। “অ্যারে ও চলক এক নয়”-ব্যাখ্যা কর।
- খ। অ্যারে প্রোগ্রামের জটিলতা কমায়-ব্যাখ্যা কর।
- খ। একই জাতীয় একাধিক ডেটা একটি চলকের অধীনে রাখা সম্ভব-ব্যাখ্যা কর।
সৃজনশীল প্রশ্নসমূহঃ
বহুনির্বাচনি প্রশ্নসমূহঃ
Written by,
- Mizanur Rahman (Mizan)
- Lecturer of ICT, Shaheed Bir Uttam Lt. Anwar Girls’ College ,Dhaka Cantonment
- Author at www.edupointbd.com
- Software Engineer at mands IT
- Former Lecturer of ICT, Cambrian College, Dhaka
- Email: mizanjust@gmail.com
- Cell: 01724351470
স্যার