Free space means free space in a partition. You have to delete the partition to get unallocated space. Then you can extend C.
Why do you want a primary partition. The only partition that needs to be primary is the one that is also "active" - meaning it contains the bootmgr. You are much better off with logical partitions for everything else. Note that you can anyhow only have a maximum of 4 primary patitions or 3 primaries with one extended ( that allows - theoretically - up to 128 logical partitions) per physical drive.