C является переносимым на уровне исходного кода. Это означает, что вы можете перекомпилировать свою программу на выбранной платформе и запустить приложение там.
Вы можете найти историю C в википедии , например. В то время программирование выполнялось на ассемблере для каждой конкретной машины, поэтому наличие языка программирования высокого уровня (к тому времени) было благословением: оно ускорило разработку, а также позволило переносить программы с одной машины на новую. просто путем переноса компилятора (позднее компилятор C мог быть написан на самом C, что снова ускоряет процесс портирования, но это уже другая история).
В частности, идея переноса UNIX между операционными системами появилась, когда на PDP-7 работала UNIX, а появилась PDP-11. Наконец, даже ядро UNIX было переписано на C, что сделало операционную систему действительно популярной из-за легкого портирования: нужно было только написать небольшое количество сборок для очень специфических частей ядра, чтобы вы могли иметь UNIX и запуск на новой машине в ближайшее время, по крайней мере, по сравнению с другими операционными системами того времени.