What is the use of typecast in malloc? If I don't write the typecast in malloc then what will it return? (Why is typecasting required in malloc?)
I assume you mean something like this:
int *iptr = (int*)malloc(/* something */);
And in C, you do not have to (and should not) cast the return pointer from malloc. It's a void * and in C, it is implicitly converted to another pointer type.
int *iptr = malloc(/* something */); 
Is the preferred form.
This does not apply to C++, which does not share the same void * implicit cast behavior.
You should never cast the return value of malloc(), in C. Doing so is:
void * is compatible with any other pointer type (except function pointers, but that doesn't apply here).So: there are no benefits, at least three drawbacks, and thus it should be avoided.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With