Printing char*

I tried but I can't get this right. What's wrong with the bold line?

char *buffer;
Serial.readBytes(buffer, 2);
print('Got code: %c', buffer[4])

I know I have to use ";" and double quotes. But is it ok to use just "print" and not "Serial.print"? The rest of the code uses print inside the "switch" and it works.

Can someone help me?

Thanks in advance.

A major problem with what you're doing is using an uninitialized pointer to write into an unknown memory location.