Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
53__2.doc
Скачиваний:
7
Добавлен:
05.11.2018
Размер:
147.97 Кб
Скачать

4. Локальные и глобальные переменные в Си.

Концепции "Время жизни" и "Видимость" являются очень важными для понимания структуры программ на Си. Время жизни переменной может быть или "глобальным" или локальным". Об"ект с глобальным временем жизни характеризуется определенной памятью и значением на протяжении всей жизни программы. Объект с локальным временем жизни захватывает новую память при каждом входе в "блок", в котором он определен или объявлен. Когда блок завершается, локальный объект пропадает, а следовательно пропадает его значение.

Блок- это составной оператор. Составные операторы состаят из объявлений и операторов

Блоки могут быть вложенными.

Объявления и определения внутри блоков находятся на "внутреннем уровне". Объявления и определения вне блоков находятся на"внешнем уровне". Переменные и функции могут быть объявлены как на внешнем уровне, так и на внутреннем. Переменные также могут быть определены на внутреннем и на внешнем уровне, а функции определяются только на внешнем уровне.

Все функции имеют глобальное время жизни, невзирая на то, где они объявлены. Переменные, объявленные на внешнем уровне, всегда имеют глобальное время жизни. Переменные, объявленные на внутреннем уровне, всегда имеют локальное время жизни. Переменные, объявленные или определенные на внутреннем уровне, видимы от точки, в которой они объявлены или определены, до конца блока, в котором представлены объявления или определения. Эти переменные называются локальными. Если переменная, объявленная внутри блока, имеет то же самое имя, как и переменная, об'явленная на внешнем уровне, то определение переменной в блоке заменяет (имеет предпочтение) определение внешнего уровня на протяжении блока. Видимость переменной внешнего уровня восстанавливается при завершении блока.

всегда имеют локальное время жизни. Переменные, объявленные или определенные на внутреннем уровне, видимы от точки, в которой они объявлены или определены, до конца блока, в котором представлены объявления или определения. Эти переменные называются локальными. Если переменная, объявленная внутри блока, имеет то же самое имя, как и переменная, об'явленная на внешнем уровне, то определение переменной в блоке заменяет (имеет предпочтение) определение внешнего уровня на протяжении блока. Видимость переменной внешнего уровня восстанавливается при завершении блока.

5. Идентификаторы и константы.

Константа- это число, символ или строка символов. Константы используются в программе как неизменяемые величины. В языке Си различают четыре типа констант: целые константы, вещественные константы , константы-символы и строковые.

Целая константа- это десятичное(начиная с любой цифры кроме 0), восьмеричное(начинаяс 0) или шестнадцатеричное(занимают 4 бита) число, которое представляет целую величину.

Вещественная константа - это действительное десятичное положительное число. Величина действительного числа включает целую, дробную части и зкспоненту.

Десятичная точка может быть опущена только тогда, когда задана экспонента. Экспонента состоит из символа экспоненты, за которым следует целочисленная величина экспоненты, возможно отрицательная(3,1414e2).

Константа-символ- это буква, цифра, знак пунктуации или ESC- символ, заключенные в одиночные кавычки. Величина константы-символа равна значению представляющего ее кода символа.

Строковые котнстанты- это последовательность букв, цифр и символов, заключенная в двойные кавычки. Строковый константы рассматривается как массив символов, каждый элемент которого представляет отдельный символ. Идентификатор создается объявлением соответствующей ему переменной или функции. После этого его можно использовать в последующих операторах программы. Идентификатор- это последовательность из одной или более букв, цифр или подчерков(_), которая начинается с буквы или подчерка. Допускается любое число символов в идентификаторе, однако только первые 32 символ распознаются компилятором.

Компилятор Си рассматривает буквы верхнего и нижнего регистров как различные символы. Поэтому можно создать отдельные независимые идентификаторы, которые совпадают орфографически, но раз личаются большими и малыми буквами. Например, каждый из следующих идентификаторов является уникальным: add ADD Add aDD

Компилятор Си не допускает идентификаторов, которые имеют ту же самую орфографию, что и ключевые слова.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]