adspace


what is the size of this class
class size
{
public:
char data1;
double d;
int data2;
char data3;
double data4;
short data5;
};

please explain the padding for these double variables.

Answer Posted / siva

Hi guys why dont you test properly before posting answers???

the answer is 40. how it is padding is as shown bellow

char data1 1+7 bytes
double d 8 bytes
int data2 4 bytes
char data3 1+7 bytes
double data4 8 bytes
short data5 4 bytes

so 40 bits

padding intermes of char type only, not for int, double and
short.

also, padding depends one next member type.

also observe char member are not in sequence.if they are in
sequence all will use same size as first one.

example:

if above structure is as shown bellow

struct size{
char data1 //1+7 bytes
char data6 //uses above 8 bytes
char data7 //uses above 8 bytes
char data8 //uses above 8 bytes
double d //8 bytes
int data2 //4 bytes
char data3 //1+7 bytes
double data4 //8 bytes
short data5 //4 bytes
}

still its size is 40 byts.

here you guys can observe before char data8 double d is
declared thatsway char data8 is padding to 1+7 = 8 byts
if it is int d then char data8 is padding to 1+3 =4 byts

Is This Answer Correct ?    2 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How c functions prevents rework and therefore saves the programers time as wel as length of the code ?

1172


What character terminates all character array strings a) b) . c) END

1403


daily Routine of father

1489


Can union be self referenced?

1275


What is the latest version on c++?

1217