this is my C code:
int main()
{
void * ptr_void;
void ** ptr_2void;
ptr_void = ptr_2void;
return 0;
}
i am just wondering why this code is valid? i have assigned an (void *) to (void **), the compiler pass it even without a warning. the type looks mismatch. and the following code that assigning an (void **) to (int *) also works.
int main()
{
int * ptr_int;
void ** ptr_2void;
ptr_int = ptr_2void;
return 0;
}
anyone is able to figure out what is exactly of (void *) stuff?