At what point does memory allocated by malloc get a type?

Viewed 478

This question asks what is the dynamic type of the object allocated by malloc and according to the top answer:

The return value of malloc is a block of uninitialized storage. No object has been constructed within that storage. And therefore it has no dynamic type.

This brings another question: at what point does it make sense to say that the storage returned by malloc gets a type. For example:

void *p = malloc(sizeof(int));
int *pi = (int*)p;

can we say that pi above points to an object of dynamic type int despite the fact that it is uninitialized?

2 Answers
Related