Machine-translated by Google. Questions are authored in English.
Top

Discussion

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.True
  • B.False

Answer: B

Correct answer: False

malloc always returns void *, whatever the memory will be used for. It cannot do otherwise: the only argument it receives is a number of bytes, so it has no knowledge of the intended type.

The conversion to float * or double * happens at the assignment, implicitly in C. What malloc does guarantee is alignment suitable for any type, which is what makes that later conversion safe whatever the caller has in mind.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.