malloc() returns a float pointer if memory is allocated for storing float's and a double pointer if memory is allocated for storing double's. A.
Answer: B
Correct answer: FALSE
malloc returns void * regardless of what will be stored in the block. It has no way of knowing: the only argument it receives is a number of bytes.
The conversion to float * or double * happens at the assignment, implicitly in C. What malloc does guarantee is that the block is suitably aligned for any type, which is what makes that later conversion safe whatever the caller has in mind.
Please log in or register to report this question.