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
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
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
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
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
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
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
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
@ 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
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
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..
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
@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;
}
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
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 +
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
@ 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
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
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
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
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
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
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,
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
24 matches
Mail list logo