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
@ 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:
>
>
>
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
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
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
>
> 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
@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;
> }
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
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.
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
@ 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
>>
@ 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;
> }
>
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
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;
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{
>
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
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
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
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
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
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
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
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
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
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
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
26 matches
Mail list logo