Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


let's take a code

struct FAQ
{
int a;
char b;
float c;
double d;
int a[10];
}*temp;

now explain me how the memory will be allocated for the
structure FAQ and what address will be in the structure
pointer (temp)....................

Answers were Sorted based on User's Feedback



let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / sharan

when u declare a structure there is no memory allocated yet.
memory will be allocated after creating an
instance(variable).Here, there is an instance (pointer
variable pointing to structure FAQ ). But the compiler
allocated only 4 bytes of memory for the variable temp. But
the this temp contains garbage address or 0 if it is
global. to allocated memory of size 60 byte u need to use
malloc function.

Ex: temp = malloc ( sizeof ( struct FAQ ) );

now 60 bytes of memory has been allocated from the heap. and
the starting address of this memory chunk is stored in
variable temp.

Is This Answer Correct ?    2 Yes 0 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / sumanshu

55 BYTES OF MEMORY NEEDED.
ADDRESSS-IS BY DEFAULT

Is This Answer Correct ?    1 Yes 0 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / vrushali

Memory allocated will be word aligned in nature.
e.g. for int the address would be allocated as a multiple of
4 .... Next char would start the n+1 where n = multiple of 4.

Similarly next....
when we do sizeof structure we get 60 bytes...
But originally , it should be
4 + 1+ 4+ 8 + 4 *10 = 57 bytes.
The extra three bytes are from char where 3 bytes are wasted
in memory space.

Is This Answer Correct ?    2 Yes 2 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / vignesh1988i

please be clear ...............i could not understand ur
reply fully.... please brief it .......sorry

Is This Answer Correct ?    0 Yes 0 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / vrushali

Sorry .. i did not get your context....

Is This Answer Correct ?    1 Yes 1 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / vignesh1988i

see from the above code i want wat address will get stored in the structure pointer temp??????????????

Is This Answer Correct ?    0 Yes 0 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / reachhary

As already told by vrushali memory to a structure is always
allocated along word boundaries. So int would fetch 4 bytes
(assumed that the int in ur machine takes 4 and word is 4
bytes). Similarly char would take 1 but since the next entry
i.e. float requires 4 so char would be given 4 (3 extra )
and so on for the remaining summing upto 60 as already
indicated.

By default temp would have the base address of the structure
i.e. pointing to the first integer i.e. 'a' in our case.

Is This Answer Correct ?    0 Yes 0 No

let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; ..

Answer / aman

your question is wrong it will give an error because u r declaring the variable 2 times and if u name it something else then the memory size will be 35 bytes on 32 bit compiler

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C Interview Questions

1,1,5,17,61,217,?,?.

3 Answers   Apple,


write a programe to accept any two number and check the following condition using goto state ment.if a>b,print a & find whether it is even or odd and then print.and a<b,printb.find the sum digits of that number & then print.if a==b multiply 10 with a & add 20 with b store in c and then print

0 Answers  


Draw a flowchart to produce a printed list of all the students over the age of 20 in a class .The input records contains the name and age of students. Assume a sentinel value of 99 for the age field of the trailer record

0 Answers   Wipro,


explain about storage of union elements.

2 Answers   ABC, Bosch,


12. Look at the Code: main() { int a[]={1,2,3},i; for(i=0;i<3;i++) { printf("%d",*a); a++; } } Which Statement is/are True w.r.t the above code? I.Executes Successfully & Prints the contents of the array II.Gives the Error:Lvalue Required III.The address of the array should not be changed IV.None of the Above. A)Only I B)Only II C)II & III D)IV

4 Answers   Accenture,


When is a “switch” statement preferable over an “if” statement?

0 Answers  


What is character constants?

0 Answers  


Why can’t constant values be used to define an array’s initial size?

0 Answers  


what is c?

4 Answers   IBM, TCS,


what would be the output of the following program? main() { int k = 123; char *ptr; ptr = &k; printf("%d",*ptr); }

4 Answers  


How to run c Program without using IDE of c. means if program made in notepad.then how to compile by command prompt.

1 Answers   HP, TCS,


What is time complexity c?

0 Answers  


Categories