WHAT IS THE DIFFERENCE BETWEEN malloc() and calloc() in c
file management?
Answer Posted / dilip k. singh(dks)
Malloc:
1. Takes only 1 argument- the size of the memory block to
be allocated.
2. Allocates memory as a single contiguous block.
3. Will fail if a single contiguous memory block of
required size is not available.
Calloc:
1. Takes two arguments - the number of memory blocks needed
and the size of each memory block.
2. It may or may not allocate a single contiguous block,
thus will not fail if a single contiguous memory block
of required size is not available.
3. Initialises the memory blocks to 0.
sUMMARY:
malloc() allocates 1 unit(datatype) of memory each time it
is called so to allocate memory for a file read char by
char allocating memory each time for a char till EOF.
calloc allocates sizeof(datatype) bytes to the no of
elements in the file, where by the user can specify the
file size as the second arguement.
char *malloc(sizeof(datatype) )
char *calloc(sizeof(datatype), num of elements)
calloc() is more efficient as memory is allocated in 1
cycle so fewer clock cycles, more faster executiop.
| Is This Answer Correct ? | 3 Yes | 0 No |
Post New Answer View All Answers
Why is c called a mid-level programming language?
How to define structures? ·
What is a ternary operator in c?
When can you use a pointer with a function?
What is binary tree in c?
Do you know the difference between exit() and _exit() function in c?
Explain the binary height balanced tree?
What are c header files?
What are structure members?
What is scope and lifetime of a variable in c?
main() { printf("hello"); fork(); }
What is a c token and types of c tokens?
Define C in your own Language.
Mention four important string handling functions in c languages .
how is the examination pattern?