I'm new into C and I'm trying to get a grip on pointers. I came across this expression
char *foo = *(char **)bar;
what exactly is going on? I understand that * is pointer ** is pointer to pointer, but I don't really get what is *(char **)bar
edit: worth to mention that bar is declared as const void *bar