Module ১২ · Structure, union আর enum
ভেতরের কথা: padding, alignment আর sizeof-এর চমক
Proপড়া
Kenji memory-তে দশ লাখ sensor record রাখতে চায়। প্রতিটা record-এ একটা char, একটা int আর আরেকটা char। ও field-গুলো যোগ করে: 1 + 4 + 1 মানে 6 byte, তাই দশ লাখ record-এ লাগবে 6,000,000 byte। তারপর Playground-কে sizeof জিজ্ঞেস করে, আর উত্তর আসে 12।
Pro lesson
এটা আরও গভীরে যায়
এই track এ আর Learn Pro তে এটা পাওয়া যায়। Skill Test এর প্রতিটা প্রশ্নের উত্তর free lesson থেকেই দেওয়া যায়, তাই এটা গভীরতা, certificate এর পথে বাধা না।
ভেতরের কথা: padding, alignment আর sizeof-এর চমক এর ভেতরে কী আছে
- sizeof-এর চমক: field মিলিয়ে 6 byte, struct 12 byte
- offsetof: কোন field কোথা থেকে শুরু
- নিয়মটা: প্রতিটা field শুরু হয় নিজের alignment-এর গুণিতকে
- শেষের padding array-কে aligned রাখে
- Field-এর ক্রম বদলে struct ছোট করা
- Alignment কেন আছে
- Padding-এ যা খুশি থাকতে পারে, তাই তুলনা করো field ধরে ধরে
- packed: padding নেই, portable-ও না