Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the example below, assuming the size of buf is equal sizeof(size_t) + (sizeof(char) * 50), which would equal 54 (assuming sizeof(size_t) is 4) is incorrect. The sizeof(buf) may actually evaluate to be 56 due to structure padding.

Code Block
struct buffer {
    size_t size;
    char buffer[50];
};

int main(int argc, char *argv[]) {
  struct buffer buf;

  printf("%u",sizeof(buf));

  return 0;
}