Composite data type
কম্পিউটার বিজ্ঞানে, একটি যৌগিক তথ্য প্রকার বা যৌগিক তথ্য প্রকার হল যে কোনও তথ্য প্রকার যা প্রোগ্রামিং ভাষার আদিম তথ্য প্রকার এবং অন্যান্য যৌগিক প্রকার ব্যবহার করে একটি প্রোগ্রামে তৈরি করা যেতে পারে। এটিকে কখনও কখনও একটি কাঠামো বা সমষ্টিগত প্রকার বলা হয়, যদিও পরবর্তী শব্দটি অ্যারে, তালিকা ইত্যাদিও বোঝাতে পারে। একটি যৌগিক প্রকার গঠনের কাজকে রচনা বলা হয়। যৌগিক তথ্যের ধরনগুলি প্রায়শই স্কেলার ভেরিয়েবলের সাথে বিপরীত হয়। সি/সি + + স্ট্রাকচার এবং ক্লাস এ স্ট্রাকচার হল সি এবং সি + + এর একটি যৌগিক প্রকারের ধারণা, একটি ডেটাটাইপ যা লেবেলযুক্ত ক্ষেত্র বা সদস্যদের একটি নির্দিষ্ট সেট তৈরি করে। এগুলি ঘোষণার জন্য ব্যবহৃত স্ট্রাকচার কীওয়ার্ডের কারণে এটি বলা হয়, যা স্ট্রাকচার বা আরও সুনির্দিষ্টভাবে, ব্যবহারকারী-সংজ্ঞায়িত ডেটা স্ট্রাকচারের জন্য সংক্ষিপ্ত। সি + +-এ, একটি স্ট্রাক এবং একটি ক্লাসের মধ্যে একমাত্র পার্থক্য হল ডিফল্ট অ্যাক্সেস স্তর, যা ক্লাসের জন্য ব্যক্তিগত এবং স্ট্রাকের জন্য সর্বজনীন। লক্ষ্য করুন যে ক্লাস এবং ক্লাসের কীওয়ার্ড সি + +-এ সম্পূর্ণ নতুন ছিল, সি প্রোগ্রামিং ভাষায় ইতিমধ্যে একটি কাঁচা ধরনের কাঠামো ছিল। সমস্ত উদ্দেশ্য এবং উদ্দেশ্যে, সি + + কাঠামো সি কাঠামোর একটি সুপারসেট গঠন করেঃ কার্যত সমস্ত বৈধ সি কাঠামো একই শব্দার্থবিদ্যা সহ বৈধ সি + + কাঠামো। একটি কাঠামো ঘোষণাপত্রে ক্ষেত্রগুলির একটি তালিকা থাকে, যার প্রত্যেকটির যে কোনও প্রকার থাকতে পারে। একটি স্ট্রাক অবজেক্টের জন্য প্রয়োজনীয় মোট স্টোরেজ হল সমস্ত ক্ষেত্রের স্টোরেজ প্রয়োজনীয়তার সমষ্টি, এবং যে কোনও অভ্যন্তরীণ প্যাডিং। উদাহরণস্বরূপঃ কাঠামো অ্যাকাউন্ট {int অ্যাকাউন্ট _ নম্বর; চর * প্রথম নাম; চর * শেষ নাম; ফ্লোট ব্যালেন্স;}; একটি প্রকারকে সংজ্ঞায়িত করে, যা কাঠামো অ্যাকাউন্ট হিসাবে উল্লেখ করা হয়। এই ধরনের একটি নতুন পরিবর্তনশীল তৈরি করতে, আমরা স্ট্রাক অ্যাকাউন্ট মাইঅ্যাকাউন্ট লিখতে পারি; যার একটি পূর্ণসংখ্যা উপাদান রয়েছে, যা myAccount.account_number দ্বারা অ্যাক্সেস করা হয়েছে, এবং একটি ভাসমান-বিন্দু উপাদান রয়েছে, যা myAccount.balance দ্বারা অ্যাক্সেস করা হয়েছে, পাশাপাশি প্রথম নাম এবং শেষ নাম উপাদান রয়েছে। মাইঅ্যাকাউন্ট কাঠামোতে চারটি মান রয়েছে এবং চারটি ক্ষেত্রই স্বাধীনভাবে পরিবর্তন করা যেতে পারে। যেহেতু কোডে স্ট্রাক অ্যাকাউন্ট বারবার লেখা জটিল হয়ে ওঠে, তাই স্ট্রাকের জন্য আরও সুবিধাজনক প্রতিশব্দ প্রদান করার জন্য সি কোডে একটি টাইপডেফ বিবৃতি দেখা অস্বাভাবিক কিছু নয়। যাইহোক, কিছু প্রোগ্রামিং স্টাইল গাইড এর বিরুদ্ধে পরামর্শ দেয়, দাবি করে যে এটি প্রকারটিকে অস্পষ্ট করতে পারে। উদাহরণস্বরূপঃ টাইপেডেফ স্ট্রাক অ্যাকাউন্ট _ {int অ্যাকাউন্ট _ নম্বর; চার * ফার্স্ট _ নেম; চার * লাস্ট _ নেম; ফ্লোট ব্যালেন্স;} অ্যাকাউন্ট; সি + + কোডে, টাইপেডেফের প্রয়োজন হয় না কারণ স্ট্রাক ব্যবহার করে সংজ্ঞায়িত প্রকারগুলি ইতিমধ্যে নিয়মিত নেমস্পেসের অংশ, তাই প্রকারটিকে স্ট্রাক অ্যাকাউন্ট বা কেবল অ্যাকাউন্ট হিসাবে উল্লেখ করা যেতে পারে। আরেকটি উদাহরণ হিসাবে, একটি ত্রিমাত্রিক ভেক্টর যৌগিক প্রকার যা ভাসমান বিন্দু তথ্য প্রকার ব্যবহার করে তৈরি করা যেতে পারেঃ কাঠামো ভেক্টর {ফ্লোট x; ফ্লোট y; ফ্লোট z;}; একটি ভেক্টর যৌগিক প্রকারের সাথে বেগ নামে একটি পরিবর্তনশীলকে ভেক্টর বেগ হিসাবে ঘোষণা করা হবে; বেগের সদস্যদের একটি বিন্দু স্বরলিপি ব্যবহার করে অ্যাক্সেস করা হবে। উদাহরণস্বরূপ, velocity.x = 5; বেগের x উপাদানকে 5 এর সমান নির্ধারণ করবে। একইভাবে, একটি রঙের কাঠামো ব্যবহার করে তৈরি করা যেতে পারেঃ স্ট্রাকচার কালার {আনসাইন্ড ইন্ট রেড; আনসাইন্ড ইন্ট গ্রিন; আনসাইন্ড ইন্ট ব্লু;}; থ্রিডি গ্রাফিক্সে, আপনাকে সাধারণত প্রতিটি শীর্ষের অবস্থান এবং রঙ উভয়েরই নজর রাখতে হবে। এটি করার একটি উপায় হ 'ল পূর্বে তৈরি ভেক্টর এবং রঙের যৌগিক প্রকারগুলি ব্যবহার করে একটি ভার্টেক্স যৌগিক প্রকার তৈরি করাঃ কাঠামো ভার্টেক্স {ভেক্টর অবস্থান; রঙ রঙ;}; ইনস্ট্যান্টিয়েশন আগের মতো একই বিন্যাস ব্যবহার করে কাঠামো ভার্টেক্সের একটি পরিবর্তনশীল তৈরি করুনঃ ভার্টেক্স ভি; সদস্য অ্যাক্সেস ভি-এর উপাদানগুলিতে মান বরাদ্দ করুন যেমনঃ v.position.x = 0.0; v.position.y = 1.5; v.position.z = 0.0; v.color.red = 128; v.color.green = 0; v.color.blue = 255; আদিম উপপ্রকার কাঠামোর প্রাথমিক ব্যবহার জটিল উপপ্রকারের নির্মাণের জন্য, তবে কখনও কখনও এটি আদিম কাঠামোগত উপপ্রকার তৈরি করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, যেহেতু স্ট্যান্ডার্ড সি-এর প্রয়োজন হয় যে যদি দুটি কাঠামোর একই প্রাথমিক ক্ষেত্র থাকে, তবে সেই ক্ষেত্রগুলি একইভাবে প্রতিনিধিত্ব করা হবে, কোড কাঠামো যদি iFooo _ old _ stub {long x, y;}; কাঠামো iFooo _ সংস্করণ _ 42 {long x, y, z; চর * নাম; দীর্ঘ a, b, c;}; অকার্যকর অপারেট _ অন _ আইএফওওওওওওওওওওওওওওও। । । অপারেট _ অন _ আইফু (& গুলি); সঠিকভাবে কাজ করবে। টাইপ সিগনেচার টাইপ সিগনেচার (বা ফাংশনের ধরণ) আদিম এবং যৌগিক প্রকার থেকে তৈরি করা হয় এবং যৌগিক প্রকার তৈরি করার সময় নিজেদেরকে টাইপ হিসাবে ব্যবহার করতে পারেঃ টাইপেডেফ স্ট্রাকচার {int x; int y;} পয়েন্ট; টাইপেডেফ ডাবল (* মেট্রিক) (পয়েন্ট p1, পয়েন্ট p2); টাইপেডেফ স্ট্রাকচার {পয়েন্ট সেন্টার; ডাবল ব্যাসার্ধ; মেট্রিক মেট্রিক;} সার্কেল; এছাড়াও দেখুন অবজেক্ট কম্পোজিশন স্ট্রাকচার (সি প্রোগ্রামিং ল্যাঙ্গুয়েজ) স্ক্যালার (গণিত) তথ্যের ধরন তথ্যসূত্র টাইপ তত্ত্ব নিবন্ধ উদাহরণস্বরূপ সি কোড সহ নিবন্ধ সি + + কোড সহ নিবন্ধ