pointer_variable=(typecasting
datatype*)malloc(sizeof(datatype));
This is the syntax for malloc?Please explain this,how it
work with an example?

Answers were Sorted based on User's Feedback



pointer_variable=(typecasting datatype*)malloc(sizeof(datatype)); This is the syntax for malloc?Pl..

Answer / vignesh1988i

ya, this is the above syntax for malloc function........

ya i will clearly explain ,

let us take a small block of coding , here my aim is to get 'n' numbers and print the 'n' numbers ......

#include<alloc.h>
void main()
{
int n ,*pointer;
clrscr();
printf("enter the number of elements u r going to enter :");
scanf("%d",&n);
pointer=(int *)malloc(n*sizeof(int));


the above statement states that : , this function is requesting the OPERATING SYSTEM to allocate 'n' amount of memory of a data type integer. and since the return format of the malloc function is an address , so we are type casting as (int*)before malloc , and the returned starting address will be stored in the pointer variable (pointer) ..
this 'pointer' will have the starting address of the allocated memory dynamically...
that's all..

for(int i=0;i<n;i++)
{
scanf("%d",(pointer+i));
}
for(i=0;i<n;i++)
printf("%d\n",*(pointer+i));
getch();
}


thank u

Is This Answer Correct ?    6 Yes 1 No

pointer_variable=(typecasting datatype*)malloc(sizeof(datatype)); This is the syntax for malloc?Pl..

Answer / pramod

I'll add few more lines to answer above just to make it a
bit more understandable.


Malloc allocates consequetive blocks of memory of requested
size.Then it returns the starting address of this block ,
the address returned is of type void , since it is a void
pointer so we need to typecast it to one that we requested
so typecasting is done( This headache has been removed in
C++ by using new as new automatically does this typecasting)

Is This Answer Correct ?    2 Yes 0 No

Post New Answer

More C Interview Questions

What does c in a circle mean?

0 Answers  


When should I declare a function?

0 Answers  


What is hash table in c?

0 Answers  


What is the difference between typeof(foo) and myFoo.GetType()?

2 Answers   Synergy,


what is the difference between unix os and linux os

4 Answers  






How do I create a directory? How do I remove a directory (and its contents)?

0 Answers  


When should the register modifier be used? Does it really help?

0 Answers  


Why does everyone say not to use scanf? What should I use instead?

0 Answers  


Why header file is used in c?

0 Answers  


What is ambagious result in C? explain with an example.

0 Answers   Infosys,


which is faster execution: loops or recursion?

3 Answers  


Do you have any idea about the use of "auto" keyword?

0 Answers  


Categories