Type Safety
malloc returns a void pointer (void *), which indicates that it is a pointer to a region of unknown data type. The use of casting is only required in C++ due to the strong type system, whereas this is not the case in C. The lack of a specific pointer type returned from malloc is type-unsafe behaviour according to some programmers: malloc allocates based on byte count but not on type. This is different from the C++ new operator that returns a pointer whose type relies on the operand. (see C Type Safety).
One may "cast" (see type conversion) this pointer to a specific type:
There are advantages and disadvantages to performing such a cast.
Read more about this topic: C Dynamic Memory Allocation
Famous quotes containing the words type and/or safety:
“Writing is more than anything a compulsion, like some people wash their hands thirty times a day for fear of awful consequences if they do not. It pays a whole lot better than this type of compulsion, but it is no more heroic.”
—Julie Burchill (b. 1960)
“To emancipate [the slaves] entirely throughout the Union cannot, I conceive, be thought of, consistently with the safety of the country.”
—Frances Trollope (17801863)