The overhead on a variable length data field is 2 bytes per column in the rowset. The data space required is always allocated for a fixed length field, plus an additional portion of the row, known as the null bitmap is allocated to handle column nullability which works out as 2 + Integer of (( <Number of fixed length Columns> + 7) / 8 ).
Look up 'size of table' in Books on line.
Given one varchar field of (30) per row with an average fill of 15 chars the dataspace will average 17 bytes per row. A fixed char (30) will use 33 bytes per row.