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 |
How is = symbol different from == symbol in c programming?
What does int main () mean?
How do you construct an increment statement or decrement statement in C?
In which header file is the null macro defined?
Explain how can a program be made to print the line number where an error occurs?
Design a program which assigns values to the array temperature. The program should then display the array with appropriate column and row headings.
Program to find largest of three numbers without using comparsion operator?
What are types of structure?
"%u" unsigned integer print the a) address of variable b) value of variable c) name of a variable d) none of the above
What is a sequential access file?
Is c dynamically typed?
main() { char as[] = "\\0\0"; int i = 0; do{ switch( as[i++]) {case '\\' : printf("A"); break; case 0 : printf("B"); break; default : printf("C"); break; }} while(i<3); }
4 Answers Vector, Vector India,