...
In the example below, assuming that sizeof(buf)
is equal sizeof(size_t) + (sizeof(char) * 50)
, which would equal 54 (assuming sizeof(size_t)
is 4) is may be incorrect. The sizeof(buf)
may actually evaluate to a larger value due to structure padding.
Code Block |
---|
struct buffer { size_t size; char buffer[50]; }; ... if (sizeof(buf) == (sizeof(size_t) + (sizeof(char)*50))) { /* This may not be true */ } ... |
...