Actually a VARCHAR(10) will only allow up to 10 characters and no more.
The main difference between CHAR and VARCHAR is how data is stored in the column. The length of a CHAR column is fixed and when CHAR values are stored, they are right-padded with spaces to the specified length. In contrast to CHAR, VARCHAR values are stored using only as many characters as are needed.
Please see the MySQL docs for more details:
MySQL AB :: MySQL 5.0 Reference Manual :: 10.4.1 The CHAR and VARCHAR Types
Cheers!
Nate