সি++ পর্ব ৯.২ – ডাটা স্ট্রাকচারের খুঁটিনাটি

0
21

সি++ পর্ব ৯.২ – ডাটা স্ট্রাকচারের খুঁটিনাটি

সূচিপত্র

আগের পর্বে আমরা ডাটা স্ট্রাকচার ডিফাইন করা এবং কীভাবে এক্সেস করতে হয় সেটা দেখেছিলাম। আজ আমরা ডাটা স্ট্রাকচার নিয়ে আরও কিছু সহজ কাজ করবো।

ফাংশনের আর্গুমেন্ট হিসেবে ডাটা স্ট্রাকচার

আমরা অন্যান্য ভ্যারিয়েবলের মত ডাটা স্ট্রাকচারও ফাংশনের আর্গুমেন্ট হিসেবে পাঠাতে পারি। এজন্য আমাদের লিখতে হবেঃ

এক্ষেত্রে স্ট্রাকচারের ডেফিনিশন গ্লোবাল স্পেসে দিতে হবে। কেন সেটা তোমার নিজেরই বুঝতে পারার কথা! 😀 আমরা একটি সম্পূর্ণ কোড লিখেই ব্যাপারটা বুঝার চেষ্টা করি। এজন্য আমরা গত দিনের কাজটা একটা ফাংশনের সাহায্যে করার চেষ্টা করবো।

এই কোডে আগের মতই ইনপুট দিয়ে আউটপুট চেক করে দেখতে পার!

স্ট্রাকচারের পয়েন্টার

বাকি ভ্যারিয়েবলগুলোর মত স্ট্রাকচারের পয়েন্টারও নিচের মত ডিক্লেয়ার করা হয়ঃ

আবার সেখানে number1-এর অ্যাড্রেস রাখতে লিখবোঃ

তবে একটি স্ট্রাকচারের মেম্বারকে এক্ষেত্রে ডট অপারেটর দিয়ে এক্সেস করা যাবে না। ব্যবহার করতে হবে -> অপারেটর। যেমনঃ

এবার তাহলে আমাদের আগের কোডটি পয়েন্টারের সাহায্যে লিখি।

পয়েন্টার ভাল মত বুঝলে এটা বুঝতে সমস্যা হওয়ার কথা না। পয়েন্টার না বুঝলে সেটা আবার পড়ে আস!

typedef কীওয়ার্ড

বারবার এই struct কথাটা লেখা যথেষ্ট বিরক্তিকর, তাই না? আমরা চাইলে typedef ব্যবহার করে একবার লিখেই ক্ষান্ত দিতে পারি। এজন্য স্ট্রাকচার ডিফাইন করার সময় লিখবোঃ

তাহলে এরপর আর struct celebrity কথাটা না লিখলেও চলবে। শুধু celeb লিখলেই হয়ে যাবে। যেমন, নিচের কোডটা দেখঃ

এই পর্ব এখানেই শেষ। ডাটা স্ট্রাকচার অত্যন্ত গুরুত্বপূর্ন একটি জিনিস। অনেক ধরণের ডাটা স্ট্রাকচার আমাদেরকে প্রতিনিয়ত ব্যবহার করতে হয়। যেমন, লিস্ট, ট্রি, ট্যাবল, বিটম্যাপ, হিপ, Trie, হ্যাশ, গ্রাফ ইত্যাদি। এগুলো নিয়ে অন্য একটি সিরিজে আলোচনা হবে। হয়তো লিখবো আমি, কিংবা অন্য কেউ!

এবং একই সাথে সি-এর সাথে সম্পর্কিত সি++-এর অংশটাও এখানেই সমাপ্তি। আগামী পর্ব থেকেই সি++-এর একান্তই নিজস্ব জিনিসপত্র দেখা শুরু! 😀

LEAVE A REPLY

Please enter your comment!
Please enter your name here