nChar() is Fixed length
and nVarChar is variable length.
In practice, the disk space used is
nChar(5) => will always use 12 Bytes ( 2 *n ) +2
nVarChar(5) = > uses 3 ( ( 1*2)+2 Bytes ) up to 12 Bytes depending on number of characters entered and ansi-Padding settings.
Check BOL nChar and nVarchar for more details