Above solution goes if you already have free space otherwise you are screwed. Some software will resize your partitioning and some of them are good in doing that but the danger of corrupting partitions is always there.
Now if you have a physical hard drive in two partitions c and d then.........
A better solution is and always will be transferring your data to a second physical hard drive. Delete your logical d drive and then use the method described by kwmike.
If you like to live dangerously then go ahead use some partitioning software to adjust the sizes of partitions. and remember, if they tell you to make a boot up recovery cd then do make it. Just in case something screws up then at least you will have some tool to take you out of the ditch.