Стоит ли устанавливать их отдельно или нет - вопрос непростой. Если у вас старый компьютер с ограниченными ресурсами, определенно держитесь подальше от виртуальных машин и устанавливайте одну ОС на каждый диск. С другой стороны, если у вас есть более новая машина с большим количеством оперативной памяти (минимум 4 ГБ, если вы работаете под управлением Windows 7 с виртуальной машиной) и приличным процессором, то вы должны использовать виртуальную машину для случайного программирования.
Учитывая, что вы должны установить обе ОС в любом случае, лично я бы выбрал одну на каждый диск (если у вас недостаточно места на диске). Это проще в настройке, и вы получаете полную мощность компьютера для обеих ОС. Если вы все еще сомневаетесь, читайте дальше.
Если вы хотите заниматься серьезным C-программированием на компьютере с Linux (не просто разрабатывать для Linux, но на самом деле разрабатывать для Linux), то я бы выбрал отдельные ОС, независимо от возможностей вашего компьютера. Таким образом вы получите полное использование всех своих ресурсов при компиляции и т.д. Кроме того, если у вас есть мысли о регулярном использовании Linux, то имеет смысл предоставить ему собственный диск.
Если вы когда-либо работали только в Windows (включая разработку), вам нужно только протестировать выполнение ваших программ в Linux, у вас нет намерения делать что-либо еще в Linux, и ваш компьютер достаточно хорош, тогда вы можете сохранить себе дискового пространства и использовать виртуальную машину.
Совет по двойной загрузке:
Если вы решили установить их отдельно, сначала убедитесь, что вы установили Windows. Таким образом, во время установки Linux grub/lilo может обнаружить его и автоматически добавить запись загрузчика Windows для вас.