I wanted to ask about the following case:
char *temp;
temp = malloc(10);
Since the return type of malloc is void*, will the pointer returned by the malloc be implicitly cast to char* type before being assigned to temp? What does the standard say in this regard?
If our pointer variable is some struct type for example:
struct node *temp;
temp = (struct node *)malloc(sizeof(struct node));
If we allocate memory to temp without casting it to struct node* type, will it be implicitly cast to struct node* type or is it necessary to explicitly cast it to struct node* type?
Answer
A void pointer in C can be assigned to any pointer without an explicit cast.
No comments:
Post a Comment