@abhi
we can do it without passing the address to a function. just store the
address of const variable in another variable and change the value...
On Mon, Jul 18, 2011 at 11:56 AM, Abhi abhi123khat...@gmail.com wrote:
Perhaps the only way to alter the value of a variable declared constant in
C
struct st
{
char ch1;
long double ld;
}s;
printf(%d,sizeof(s));
//output : 24 (for 32-bit compiler)
-as i have mentioned above the behaviour is undefined in case of sizeof
(struct)
can any one explain me why the padding concept does not work here ??
On Mon, Jul 18, 2011 at 12:13 AM,
sizeof long double is 12. So padding concept is perfectly working
On Mon, Jul 18, 2011 at 12:26 AM, aditya kumar aditya.kumar130...@gmail.com
wrote:
struct st
{
char ch1;
long double ld;
}s;
printf(%d,sizeof(s));
//output : 24 (for 32-bit compiler)
-as i have mentioned above
@prateek . can you explain me ?? i dint get padding logic in this example of
mine.
On Mon, Jul 18, 2011 at 12:30 AM, sagar pareek sagarpar...@gmail.comwrote:
sizeof long double is 12. So padding concept is perfectly working
On Mon, Jul 18, 2011 at 12:26 AM, aditya kumar
@Aditya
Here is the padding effect :
Address of char : starts anywhere
Address of long double : starts at 11 address locations from char variable
-- 1+11+12=24 bytes
On Mon, Jul 18, 2011 at 1:10 AM, sagar pareek sagarpar...@gmail.com wrote:
@aditya
actually first see your post, you have
@pareek..my compiler gives 24 . newazz if ansa is 16 acc to you then it
follows padding principle perfectly. since memory cycle invloves 1 word
hence char will take 1 byte nd 3 bytes will be padded up . rest 12 bytes
will come from long double so 4+12=16 bytes :)
n ya sry abt d name .
On Mon, Jul
@Sagar
Memory sizes of long double variables are compiler and system configuration
dependent. So obviously, in accordance with your compiler, the size of long
double is 8 bytes.
On Mon, Jul 18, 2011 at 1:22 AM, Nikhil Gupta nikhilgupta2...@gmail.comwrote:
@Aditya
Here is the padding effect :
@Nikhil
why is Address of long double : starts at 11 address locations from char
variable ??
is shud start from 3rd adress location from char variable bcoz memory cycle
involves a word so are you padding 11bytes ??
On Mon, Jul 18, 2011 at 1:24 AM, Nikhil Gupta nikhilgupta2...@gmail.comwrote:
That is again compiler dependent. Usually when hardware configuration is
taken into account, the compiler uses padding of 3 bytes. But in some cases,
for the ease of hardware access and faster implementation, 11 bytes are
padded. Possibly depends on your system hardware's synchronization with the
@nikhil my compiler gives sizeof long double =12
so aditya's concept is correct
On Mon, Jul 18, 2011 at 1:35 AM, aditya kumar
aditya.kumar130...@gmail.comwrote:
@Nikhil
thnks :)
On Mon, Jul 18, 2011 at 1:32 AM, Nikhil Gupta
nikhilgupta2...@gmail.comwrote:
That is again compiler
10 matches
Mail list logo