when you are declaring static variables in C,
say you wrote a program as such:
int *c;
void foo(){
c = (int *) malloc (10*sizeof(int));
c = &c[3];
*c = *&c[3];
}
What does it mean to have *c
? I mean I understand that *
means that it points to something but what does *c
do?
and also, why do you need to cast (int *)
the return value of malloc()
?