The expansion of a drive (partition) can only be done into adjoining space. If you have partitions C, D, E and F and the E partition has been shrunk, you can't expand C to take that space. To expand C, the space must be taken from space freed up by shrinking D.
In your case, C has extra space. You can shrink the C partition, then expand the partition next to it to take the space freed up by shrinking C.
From the Windows 7 help file
----
You can add more space to existing primary partitions and logical drives by extending them into adjacent unallocated space on the same disk. To extend a basic volume, it must be raw or formatted with the NTFS file system. You can extend a logical drive within contiguous free space in the extended partition that contains it. If you extend a logical drive beyond the free space available in the extended partition, the extended partition grows to contain the logical drive.
For logical drives, boot, or system volumes, you can extend the volume only into contiguous space and only if the disk can be upgraded to a dynamic disk. For other volumes, you can extend the volume into noncontiguous space, but you will be prompted to convert the disk to dynamic.
Extending a basic volume
Using the Windows interface
Using a command line
To extend a basic volume using the Windows interface
In Disk Manager, right-click the basic volume you want to extend.
Click Extend Volumeā¦.
Follow the instructions on your screen.
To extend a basic volume using a command line
Open a command prompt and type diskpart.
At the DISKPART prompt, type list volume. Make note of the basic volume you want to extend.
At the DISKPART prompt, type select volume
. This selects the basic volume volumenumber that you want to extend into contiguous, empty space on the same disk.
At the DISKPART prompt, type extend [size=]. This extends the selected volume by size megabytes (MB).
----