Реферат: Язык С
содержаться внутри другой, но переменные могут описываться в
соответствии с обычной блочной структурой. Функции в “C” -
программе могут транслироваться отдельно. переменные по от-
ношению к функции могут быть внутренними, внешними, но из-
вестными только в пределах одного исходного файла, или пол-
ностью глобальными. Внутренние переменные могут быть автома-
тическими или статическими. Автоматические переменные для
большей эффективности можно помещать в регистры, но объявле-
ние регистра является только указанием для компилятора и ни-
как не связано с конкретными машинными регистрами.
Язык “C” не является языком со строгими типами в смысле
паскаля или алгола 68. Он сравнительно снисходителен к пре-
образованию данных, хотя и не будет автоматически преобразо-
вывать типы данных с буйной непринужденностью языка PL/1.
Существующие компиляторы не предусматривают никакой проверки
во время выполнения программы индексов массивов, типов аргу-
ментов и т.д.
В тех ситуациях, когда желательна строгая проверка ти-
пов, используется специальная версия компилятора. Эта прог-
рамма называется LINT очевидно потому, она выбирает кусочки
пуха из вашей программы. Программа LINT не генерирует машин-
ного кода, а делает очень строгую проверку всех тех сторон
программы, которые можно проконтролировать во время компиля-
ции и загрузки. Она определяет несоответствие типов, несов-
местимость аргументов, неиспользованные или очевидным обра-
зом неинициализированные переменные, потенциальные трудности
переносимости и т.д. Для программ,которые благополучно про-
ходят через LINT, гарантируется отсутствие ошибок типа при-
мерно с той же полнотой, как и для программ, написанных,