A CHAR field is a fixed length, and VARCHAR is a variable length field.
This means that the storage requirements are different – a CHAR always takes the same amount of space regardless of what you store, whereas the storage requirements for a VARCHAR vary depending on the specific string stored.