The possible types as,
x1 = c->buf;
x1 is pointer to a character since buf is the base pointer.
x2 = *c->buf;
x2 is a character since base pointer is dereferenced to get the first character
x3 = &c->buf[c->curp];
x3 is a pointer to a character since c->buf[c->curp] gives a character and &
gives its address
x4 = *c;
x4 is a variable of struct client since c is a pointer to a variable of that struct and is dereferenced.
It is not necessary since other types can also be used to hold these values. these are possible types.
2
solved What is the type for structure and pointers?