Re: [algogeeks] difference between the two

2011-08-07 Thread Puneet Gautam
How do u define size of compiler...? On 8/6/11, SANDEEP CHUGH wrote: > @ sid : can u please elaborate considering these parameters > > 1 size of compiler > 2 size of os and > 3 size of processor > > please explain for any case, considering these three parameters and tell me > how these parameter

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
@ sid : can u please elaborate considering these parameters 1 size of compiler 2 size of os and 3 size of processor please explain for any case, considering these three parameters and tell me how these parameters do affect.. ty On Sat, Aug 6, 2011 at 9:53 PM, siddharth srivastava wrote: > > >

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
On 6 August 2011 21:50, siddharth srivastava wrote: > Hi > > On 6 August 2011 20:20, SANDEEP CHUGH wrote: > >> padding wud be between int & char..(for ur last case) >> >> now u said if it starts at 4 , still the block will be 8 (size of double), >> that is 7 bytes to be padded.. >> >> so double

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
Hi On 6 August 2011 20:20, SANDEEP CHUGH wrote: > padding wud be between int & char..(for ur last case) > > now u said if it starts at 4 , still the block will be 8 (size of double), > that is 7 bytes to be padded.. > > so double element of structure would be starting at 4 + char(1) + 7 byte > p

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
padding wud be between int & char..(for ur last case) now u said if it starts at 4 , still the block will be 8 (size of double), that is 7 bytes to be padded.. so double element of structure would be starting at 4 + char(1) + 7 byte padding ==12 but 12 is not a multiple of 8.. so there is a pr

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
> > but if the reference is not 0 .. if it wud have been 4 then for tht case > tell me do we really need that 7 bytes?? > yes, because in any case the block would be of 8 bytes only so even if you start at 4, you would have only 7 bytes left in that location for the next variable(which in this ca

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
@sid : yeah agree to ur explanation.. but if the reference is not 0 .. if it wud have been 4 then for tht case tell me do we really need that 7 bytes?? and yeah it is dependent on compiler size.. if u compile this snippet struct demo { char c; double d; int s; > }

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
Hi Sandeep On 6 August 2011 19:16, SANDEEP CHUGH wrote: > take this case > > struct demo > { >char c; >double d; >int s; > >> } > > > what wud be the size?? > > > solution is 24 according to following:--> > > char (1) + 7 byte padding +double(8)+int(4)+ 4 byte padd

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
take this case struct demo { char c; double d; int s; > } what wud be the size?? solution is 24 according to following:--> char (1) + 7 byte padding +double(8)+int(4)+ 4 byte padding suppose address starts at 4.. i just wanna ask .. why there is 7 byte padding.

Re: [algogeeks] difference between the two

2011-08-06 Thread Puneet Gautam
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 va

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
@ 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 wrote: > @ puneet : ryt !! gud explanation. > > > On Sat, Aug 6, 2011 at 6:53 PM, Puneet Gautam wrote: > >> Order is important ... but in the main case here which is >>

Re: [algogeeks] difference between the two

2011-08-06 Thread SANDEEP CHUGH
@ puneet : ryt !! gud explanation. On Sat, Aug 6, 2011 at 6:53 PM, Puneet Gautam 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; > } >

Re: [algogeeks] difference between the two

2011-08-06 Thread Puneet Gautam
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 wrote: > See guys.. the order is important but

Re: [algogeeks] difference between the two

2011-08-06 Thread Puneet Gautam
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;

Re: [algogeeks] difference between the two

2011-08-06 Thread Nitish Garg
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 wrote: > Interesting : > #include > using namespace std; > int main() > { > struct p{ >

Re: [algogeeks] difference between the two

2011-08-06 Thread Prashant Gupta
Interesting : #include 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 P

Re: [algogeeks] difference between the two

2011-08-06 Thread Tushar Bindal
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 wrote: > Sorry guys, int is 4 bytes on 64

Re: [algogeeks] difference between the two

2011-08-06 Thread Puneet Gautam
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 wrote: > There is no difference between the two... > > On 32 bit system, both structures need every address location where > int

Re: [algogeeks] difference between the two

2011-08-06 Thread Puneet Gautam
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

Re: [algogeeks] difference between the two

2011-08-05 Thread Tushar Bindal
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://ideo

Re: [algogeeks] difference between the two

2011-08-05 Thread Shashank Jain
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 wrote: > in case of 64 bit, > size of second structure will also be 16 not 8 > > > On Fri, Aug 5, 2011 at 11

Re: [algogeeks] difference between the two

2011-08-05 Thread Kamakshii Aggarwal
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 wrote: > I think voth are just same.. > > > On Fri, Aug 5, 2011 at 10:57 AM, priya v wrote: > >> in case of 64 bit machine y doesn't padding happen in the 2nd stru

Re: [algogeeks] difference between the two

2011-08-05 Thread UTKARSH SRIVASTAV
I think voth are just same.. On Fri, Aug 5, 2011 at 10:57 AM, priya v 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 wrote: > >> no ,if u r using 32 bit machine . that will use 4 byte pointer si

Re: [algogeeks] difference between the two

2011-08-05 Thread priya v
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 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

Re: [algogeeks] difference between the two

2011-08-05 Thread hary rathor
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 on

[algogeeks] difference between the two

2011-08-05 Thread priya v
Whats the difference between the two ? 1) struct list { int data; list *next; } and 2) struct list { list *next; int data; } -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, sen