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 sandeep.aa...@gmail.com 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

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-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 puneet.nsi...@gmail.com wrote: There is no difference between the two... On 32 bit system, both structures need every address

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 puneet.nsi...@gmail.comwrote: Sorry

Re: [algogeeks] difference between the two

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

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 prashantatn...@gmail.comwrote: Interesting : #includeiostream using namespace std; int

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

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 puneet.nsi...@gmail.com wrote: See guys.. the

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 sandeep.aa...@gmail.comwrote: @ puneet : ryt !! gud explanation. On Sat, Aug 6, 2011 at 6:53 PM, Puneet Gautam puneet.nsi...@gmail.comwrote: Order is important

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

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 siddharth srivastava
Hi Sandeep On 6 August 2011 19:16, SANDEEP CHUGH sandeep.aa...@gmail.com 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

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
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 case

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
Hi On 6 August 2011 20:20, SANDEEP CHUGH sandeep.aa...@gmail.com 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 +

Re: [algogeeks] difference between the two

2011-08-06 Thread siddharth srivastava
On 6 August 2011 21:50, siddharth srivastava akssps...@gmail.com wrote: Hi On 6 August 2011 20:20, SANDEEP CHUGH sandeep.aa...@gmail.com 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

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

[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, send

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

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 harry.rat...@gmail.com 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

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 pria@gmail.com 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 harry.rat...@gmail.comwrote: no ,if u r using 32 bit machine

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 usrivastav...@gmail.comwrote: I think voth are just same.. On Fri, Aug 5, 2011 at 10:57 AM, priya v pria@gmail.com wrote: in case of 64 bit machine y

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 kamakshi...@gmail.comwrote: in case of 64 bit, size of second structure will also be 16 not 8 On Fri,

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