Well, even in dat case no difference occurs....
As far as i know, because we cant predict where its address is going
to start from, in real time i.e. in memory, it will always give u the
same size as output..if u run the code..

So the whole point is that the size comes down to the highest sized
variable in the struct declaration and the order in which the
variables are declared...

The rerference 0 was only for explanation...!

Thanks..

On 8/6/11, SANDEEP CHUGH <[email protected]> wrote:
> @ puneet :
> tell me the case if u take the address to be starting from 4 not 0..
>
> On Sat, Aug 6, 2011 at 6:55 PM, SANDEEP CHUGH
> <[email protected]>wrote:
>
>> @ puneet :  ryt !!  gud explanation.
>>
>>
>> On Sat, Aug 6, 2011 at 6:53 PM, Puneet Gautam
>> <[email protected]>wrote:
>>
>>> Order is important ... but in the main case here which is
>>>
>>>  1) struct list
>>>    {
>>>       int data;
>>>       list *next;
>>>   }
>>> and
>>> 2) struct list
>>>    {
>>>       list *next;
>>>       int data;
>>>   }
>>> order is not affecting its size...!!
>>>
>>> On 8/6/11, Puneet Gautam <[email protected]> wrote:
>>> > See guys.. the order is important but the size of whole structure
>>> > needs to be a multiple of its largest sized variable...
>>> > eg:
>>> >
>>> > struct p
>>> > {
>>> >         double data;
>>> >         char a;
>>> >         char b;
>>> >         char c;
>>> >         char d;
>>> >         }t;
>>> >
>>> >
>>> > struct q
>>> > {        char c;
>>> >         char d;
>>> >         double data;
>>> >         char a;
>>> >         char b;
>>> >         }t1;
>>> >
>>> > sizeof(t)=16
>>> > sizeof(t1)=24
>>> >
>>> > This can be explained:Lets say address starts at 0
>>> >
>>> > In q structure, c and d take one byte each so data starts at 3 but it
>>> > cant start at 3 (not its size multiple)...
>>> > so double data starts at 8, leaving all 3-7 positions padded to char c
>>> and
>>> > d
>>> >
>>> > double ends at 16 so char a and b occupy 17 and 18 addresses.
>>> >
>>> > But if next structure variable starts, it wud have to start at 19
>>> > which is not 8's multiple..
>>> >
>>> > So , char a and b are padded till address 23 and hence next structure
>>> > variable can start at 24..(8 * 3)
>>> >
>>> > Hence t1's size =24, neither 19 nor 12...
>>> >
>>> > Similarly, we can account for structure p's variable t..t=16
>>> > bytes(char a,b,c,d occupy 4bytes, get padded upto 7 and double then
>>> > starts at 8 upto 15, next variable starts at 16..)
>>> >
>>> > Am i clear...???
>>> >
>>> >
>>> >
>>> > On 8/6/11, Nitish Garg <[email protected]> wrote:
>>> >> I think that the order is important. Because when we consider an array
>>> of
>>> >> structures the order becomes extremely important just as shown in the
>>> >> above
>>> >> example.
>>> >>
>>> >> On Sat, Aug 6, 2011 at 6:18 PM, Prashant Gupta
>>> >> <[email protected]>wrote:
>>> >>
>>> >>> Interesting :
>>> >>> #include<iostream>
>>> >>> using namespace std;
>>> >>> int main()
>>> >>> {
>>> >>>     struct p{
>>> >>>         int i;
>>> >>>         char j;
>>> >>>         char k;
>>> >>>     };
>>> >>>     struct q{
>>> >>>         char j;
>>> >>>         int i;
>>> >>>         char k;
>>> >>>     };
>>> >>>     printf("p=%u q=%u",sizeof(p),sizeof(q));
>>> >>>     return 0;
>>> >>> }
>>> >>> o/p : p=8 q=12
>>> >>>
>>> >>> On Sat, Aug 6, 2011 at 2:55 PM, Tushar Bindal
>>> >>> <[email protected]>wrote:
>>> >>>
>>> >>>> that means the order is immaterial.
>>> >>>> the sizeof the struct always remains same irrespective of the order
>>> and
>>> >>>> just depends on the type of variables???
>>> >>>> why char with double does not get size in multiples of 8??
>>> >>>>
>>> >>>>
>>> >>>> On Sat, Aug 6, 2011 at 12:54 PM, Puneet Gautam
>>> >>>> <[email protected]>wrote:
>>> >>>>
>>> >>>>> Sorry guys, int is 4 bytes on 64 bit and 2 bytes on 32 bit system..
>>> >>>>>
>>> >>>>> But padding rule remains same for both structures as mentioned
>>> >>>>> above...
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> On 8/6/11, Puneet Gautam <[email protected]> wrote:
>>> >>>>> > There is no difference between the two...
>>> >>>>> >
>>> >>>>> > On 32 bit system, both structures need every address location
>>> where
>>> >>>>> > int and pointer are stored to be a multiple of 4(highest size is
>>> >>>>> > 4)..
>>> >>>>> >
>>> >>>>> > On 64 bit,
>>> >>>>> > even if pointer is 4bytes(say, in 64 bit system), and p1, p2 be
>>> >>>>> > structure variables, then p2 should start at address which is
>>> >>>>> > multiple
>>> >>>>> > of 8 as int data is 8bytes. So, if p1 starts at 0, it should end
>>> at
>>> >>>>> > 16
>>> >>>>> > not 12 so that p2 starts at 8's multiple.
>>> >>>>> >
>>> >>>>> > This is done by padding pointer by 4bytes in both I and II
>>> >>>>> > struct.
>>> >>>>> > declarations.
>>> >>>>> >
>>> >>>>> >
>>> >>>>> > Hope i made it clear...!
>>> >>>>> >
>>> >>>>> > Thanks.
>>> >>>>> >
>>> >>>>> >
>>> >>>>> >
>>> >>>>> >
>>> >>>>> > On 8/6/11, Tushar Bindal <[email protected]> wrote:
>>> >>>>> >>
>>> >>>>>
>>> http://www.serc.iisc.ernet.in/ComputingFacilities/systems/cluster/xlf/html/xlfug/ug35.htm
>>> >>>>> >> this says int is always 4 bytes and pointer is 8 bytes on 64 bit
>>> >>>>> >> compiler.
>>> >>>>> >>
>>> >>>>> >> so how does padding affect these structures because of the
>>> >>>>> >> difference
>>> >>>>> in
>>> >>>>> >> size of int and pointer?
>>> >>>>> >>
>>> >>>>> >>
>>> >>>>> >> I tried this program
>>> >>>>> >> https://ideone.com/CRU6x#view_edit_box
>>> >>>>> >> char always gets 4 bytes whenever it has int or double in the
>>> same
>>> >>>>> struct
>>> >>>>> >> irrrespctive of the order of the declaration of variables.
>>> >>>>> >> I thought char should get size 8 when there is a double in the
>>> ame
>>> >>>>> struct
>>> >>>>> >> whereas it gets size 4 only.
>>> >>>>> >> what is the problem here?
>>> >>>>> >>
>>> >>>>> >> On Sat, Aug 6, 2011 at 4:40 AM, Shashank Jain
>>> >>>>> >> <[email protected]>
>>> >>>>> >> wrote:
>>> >>>>> >>
>>> >>>>> >>> i dont understand the diff btw dem, could u plz elaborate?
>>> >>>>> >>>
>>> >>>>> >>> Shashank Jain
>>> >>>>> >>> IIIrd year
>>> >>>>> >>> Computer Engineering
>>> >>>>> >>> Delhi College of Engineering
>>> >>>>> >>>
>>> >>>>> >>>
>>> >>>>> >>>
>>> >>>>> >>> On Sat, Aug 6, 2011 at 12:32 AM, Kamakshii Aggarwal
>>> >>>>> >>> <[email protected]
>>> >>>>> >>> > wrote:
>>> >>>>> >>>
>>> >>>>> >>>> in case of 64 bit,
>>> >>>>> >>>> size of second structure will also be 16 not 8
>>> >>>>> >>>>
>>> >>>>> >>>>
>>> >>>>> >>>> On Fri, Aug 5, 2011 at 11:40 PM, UTKARSH SRIVASTAV <
>>> >>>>> >>>> [email protected]> wrote:
>>> >>>>> >>>>
>>> >>>>> >>>>> I think voth are just same..................
>>> >>>>> >>>>>
>>> >>>>> >>>>>
>>> >>>>> >>>>> On Fri, Aug 5, 2011 at 10:57 AM, priya v <[email protected]>
>>> >>>>> wrote:
>>> >>>>> >>>>>
>>> >>>>> >>>>>> in case of 64 bit machine y doesn't padding happen in the
>>> >>>>> >>>>>> 2nd
>>> >>>>> >>>>>> structure?
>>> >>>>> >>>>>>
>>> >>>>> >>>>>>
>>> >>>>> >>>>>> On Fri, Aug 5, 2011 at 11:21 PM, hary rathor
>>> >>>>> >>>>>> <[email protected]>wrote:
>>> >>>>> >>>>>>
>>> >>>>> >>>>>>> no ,if u r using 32 bit machine . that will use 4 byte
>>> pointer
>>> >>>>> size
>>> >>>>> >>>>>>> ,
>>> >>>>> >>>>>>> but   in 64 machine that enforce to be size of 8 . where
>>> >>>>> >>>>>>> padding
>>> >>>>> >>>>>>> will
>>> >>>>> >>>>>>> take int your given first structure
>>> >>>>> >>>>>>>
>>> >>>>> >>>>>>> so for 32 bit- size will 8 8 for both structure
>>> >>>>> >>>>>>> for 64 bit - size will 16 and 12 respectively cause of 4
>>> >>>>> >>>>>>> bit
>>> >>>>> padding
>>> >>>>> >>>>>>> in
>>> >>>>> >>>>>>> one structure
>>> >>>>> >>>>>>>
>>> >>>>> >>>>>>> hence 2nd structure is good for use
>>> >>>>> >>>>>>>
>>> >>>>> >>>>>>> --
>>> >>>>> >>>>>>> You received this message because you are subscribed to the
>>> >>>>> Google
>>> >>>>> >>>>>>> Groups "Algorithm Geeks" group.
>>> >>>>> >>>>>>> To post to this group, send email to
>>> >>>>> >>>>>>> [email protected].
>>> >>>>> >>>>>>> To unsubscribe from this group, send email to
>>> >>>>> >>>>>>> [email protected].
>>> >>>>> >>>>>>> For more options, visit this group at
>>> >>>>> >>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>>>>>>
>>> >>>>> >>>>>>
>>> >>>>> >>>>>>  --
>>> >>>>> >>>>>> You received this message because you are subscribed to the
>>> >>>>> >>>>>> Google
>>> >>>>> >>>>>> Groups "Algorithm Geeks" group.
>>> >>>>> >>>>>> To post to this group, send email to
>>> >>>>> >>>>>> [email protected].
>>> >>>>> >>>>>> To unsubscribe from this group, send email to
>>> >>>>> >>>>>> [email protected].
>>> >>>>> >>>>>> For more options, visit this group at
>>> >>>>> >>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>>>>>
>>> >>>>> >>>>>
>>> >>>>> >>>>>
>>> >>>>> >>>>>
>>> >>>>> >>>>> --
>>> >>>>> >>>>> *UTKARSH SRIVASTAV
>>> >>>>> >>>>> CSE-3
>>> >>>>> >>>>> B-Tech 2nd Year
>>> >>>>> >>>>> @MNNIT ALLAHABAD*
>>> >>>>> >>>>>
>>> >>>>> >>>>>
>>> >>>>> >>>>>  --
>>> >>>>> >>>>> You received this message because you are subscribed to the
>>> >>>>> >>>>> Google
>>> >>>>> >>>>> Groups
>>> >>>>> >>>>> "Algorithm Geeks" group.
>>> >>>>> >>>>> To post to this group, send email to
>>> [email protected].
>>> >>>>> >>>>> To unsubscribe from this group, send email to
>>> >>>>> >>>>> [email protected].
>>> >>>>> >>>>> For more options, visit this group at
>>> >>>>> >>>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>>>>
>>> >>>>> >>>>
>>> >>>>> >>>>
>>> >>>>> >>>>
>>> >>>>> >>>> --
>>> >>>>> >>>> Regards,
>>> >>>>> >>>> Kamakshi
>>> >>>>> >>>> [email protected]
>>> >>>>> >>>>
>>> >>>>> >>>> --
>>> >>>>> >>>> You received this message because you are subscribed to the
>>> >>>>> >>>> Google
>>> >>>>> >>>> Groups
>>> >>>>> >>>> "Algorithm Geeks" group.
>>> >>>>> >>>> To post to this group, send email to
>>> [email protected].
>>> >>>>> >>>> To unsubscribe from this group, send email to
>>> >>>>> >>>> [email protected].
>>> >>>>> >>>> For more options, visit this group at
>>> >>>>> >>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>>>
>>> >>>>> >>>
>>> >>>>> >>>  --
>>> >>>>> >>> You received this message because you are subscribed to the
>>> Google
>>> >>>>> >>> Groups
>>> >>>>> >>> "Algorithm Geeks" group.
>>> >>>>> >>> To post to this group, send email to [email protected]
>>> .
>>> >>>>> >>> To unsubscribe from this group, send email to
>>> >>>>> >>> [email protected].
>>> >>>>> >>> For more options, visit this group at
>>> >>>>> >>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>>
>>> >>>>> >>
>>> >>>>> >>
>>> >>>>> >>
>>> >>>>> >> --
>>> >>>>> >> Tushar Bindal
>>> >>>>> >> Computer Engineering
>>> >>>>> >> Delhi College of Engineering
>>> >>>>> >> Mob: +919818442705
>>> >>>>> >> E-Mail : [email protected]
>>> >>>>> >> Website: www.jugadengg.com
>>> >>>>> >>
>>> >>>>> >> --
>>> >>>>> >> You received this message because you are subscribed to the
>>> Google
>>> >>>>> Groups
>>> >>>>> >> "Algorithm Geeks" group.
>>> >>>>> >> To post to this group, send email to [email protected].
>>> >>>>> >> To unsubscribe from this group, send email to
>>> >>>>> >> [email protected].
>>> >>>>> >> For more options, visit this group at
>>> >>>>> >> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>> >>
>>> >>>>> >>
>>> >>>>> >
>>> >>>>>
>>> >>>>> --
>>> >>>>> You received this message because you are subscribed to the Google
>>> >>>>> Groups
>>> >>>>> "Algorithm Geeks" group.
>>> >>>>> To post to this group, send email to [email protected].
>>> >>>>> To unsubscribe from this group, send email to
>>> >>>>> [email protected].
>>> >>>>> For more options, visit this group at
>>> >>>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> Tushar Bindal
>>> >>>> Computer Engineering
>>> >>>> Delhi College of Engineering
>>> >>>> Mob: +919818442705
>>> >>>> E-Mail : [email protected]
>>> >>>> Website: www.jugadengg.com
>>> >>>>
>>> >>>>  --
>>> >>>> You received this message because you are subscribed to the Google
>>> >>>> Groups
>>> >>>> "Algorithm Geeks" group.
>>> >>>> To post to this group, send email to [email protected].
>>> >>>> To unsubscribe from this group, send email to
>>> >>>> [email protected].
>>> >>>> For more options, visit this group at
>>> >>>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Prashant Gupta
>>> >>> B.Tech Final Year
>>> >>> Computer Science and Engineering
>>> >>> NIT Trichy
>>> >>> Phone : +91 9894462744
>>> >>>
>>> >>>  --
>>> >>> You received this message because you are subscribed to the Google
>>> >>> Groups
>>> >>> "Algorithm Geeks" group.
>>> >>> To post to this group, send email to [email protected].
>>> >>> To unsubscribe from this group, send email to
>>> >>> [email protected].
>>> >>> For more options, visit this group at
>>> >>> http://groups.google.com/group/algogeeks?hl=en.
>>> >>>
>>> >>
>>> >> --
>>> >> You received this message because you are subscribed to the Google
>>> Groups
>>> >> "Algorithm Geeks" group.
>>> >> To post to this group, send email to [email protected].
>>> >> To unsubscribe from this group, send email to
>>> >> [email protected].
>>> >> For more options, visit this group at
>>> >> http://groups.google.com/group/algogeeks?hl=en.
>>> >>
>>> >>
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to