Can someone please explain to me the difference between
int *x = malloc(sizeof(int));
&&
int *x = (int*)malloc(sizeof(int));
Thanks!
Can someone please explain to me the difference between
int *x = malloc(sizeof(int));
&&
int *x = (int*)malloc(sizeof(int));
Thanks!
The difference is that you are casting the return of malloc()
in the second example. malloc()
returns a void*
pointer, which is automatically and safely promoted to any other pointer type in this case.
Therefore casting in this case is not required and should not be done. Check here.