I think both would be a good idea. I originally learned C on PC, and much later used it in embedded systems. Of course you must realize that embedded system, there is no operating system to do the housekeeping for you, and resources are scarce. Otherwise no problem learning the C in general sense.
I think it is best to develop computational algorithms on powerful PC environment, and only when it works properly on the PC, transfer it to embedded environment. Debugging in PC is much easier than in embedded system. Of course, not everything can be done this way, and less if the application is heavily dependent on the HW.
Regards,
Janne