Learn C Programming

lesson ৬ / ৯ · Structure, union আর enum

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-এর চমক এর ভেতরে কী আছে

  1. sizeof-এর চমক: field মিলিয়ে 6 byte, struct 12 byte
  2. offsetof: কোন field কোথা থেকে শুরু
  3. নিয়মটা: প্রতিটা field শুরু হয় নিজের alignment-এর গুণিতকে
  4. শেষের padding array-কে aligned রাখে
  5. Field-এর ক্রম বদলে struct ছোট করা
  6. Alignment কেন আছে
  7. Padding-এ যা খুশি থাকতে পারে, তাই তুলনা করো field ধরে ধরে
  8. packed: padding নেই, portable-ও না