what is mallloc()?how it works?
Answers were Sorted based on User's Feedback
malloc is briefly termed as Memory ALLOCation ......
whenever we write a program in C we will declare some
variables or arrays for a size more than whatever we need ,
etc etc..... so some variables are getting used correctly
and in arrays only some of the memory spaces are getting
used because the user dont know how much spaces he is gonna
use.......so here some memory is getting wasted without
using it.... so there comes a concept called DYNAMIC MEMORY
ALLOCATION in C...
we will give the values for how much memory we need at the
run time of the program... but this concept also only 85%
efficient... this has three types :
1)malloc();
2)calloc();
3)realloc();
malloc() is a function present in ALLOC.H standard library
which is used to allocate memory at run time (ie) in single
or in blocks.....
the syntax is :
pointer_variable=(typecasting
datatype*)malloc(sizeof(datatype));
this pointer variable should be of same datatype as the
typecasting datatype........
thank u
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / ravi chandra
malloc function is used to allocate some space in memory for
the current program that we are running.
malloc() function actually return s the value of the address
of the memory in the memory segment
c=malloc();
it gives the address to the variable c.
h=malloc(sizeof(struct node));
it returns the address of structure for the variable h;
some h=1000; (address value)
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / raghavan
Every process has a address boundary. When a process does a malloc, memory is allocated from this boundary location and the process address boundary is moved to the new end. In linux, there is a function sbrk() that allows to change the process address boundary. sbrk(0) will return the current process address boundary and sbrk(n) will move the process boundary by n bytes.
malloc internally uses this feature to allocate memory for the requesting process.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / srinath, hyd
ya. this is an memory allocation porpose.
some other allocations are there calloc(), alloc()
| Is This Answer Correct ? | 0 Yes | 1 No |
what is output? main() { #define SQR(x) x++ * ++x int i = 3; printf(" %d %d ",SQR(i),i * SQR(i)); } a)9 27 b)35 60 c)20 60 d)15 175
What is the meaning of this decleration? unsigned char (*pArray[10][10]); please reply.
Why should I use standard library functions instead of writing my own?
21. #define square(x) x*x main() { int i; i = 64/square(4); printf("%d",i); }
can any one tell that i have a variable which is declared as static but i want this variable to be visible to the other files? how?
How can I recover the file name given an open stream or file descriptor?
What is a 'null pointer assignment' error?
can we access one file to one directory?
Tell me when is a void pointer used?
disply the following menu 1.Disply 2.Copy 3.Append; as per the menu do the file operations 4.Exit
What's the best way of making my program efficient?
What are external variables in c?