|
Функции и структура программОбластью действия названия является та часть программы, в которой это название можно использовать. При использовании автоматических переменных, объявленных в начале функции, областью действия появляться функция, в которой это название было объявлено. Локальные переменные с тем же названием, но в разных функциях не имеют никаких остосункив друг с другом. То же действительно и для параметров функций, которые в действительности также являются локальными переменными. Область действия внешней переменной или функции продолжается, начиная с момента их объявили и до конца собран файла. Например, если main, sp, val, push и pop обозначено в одном файле, в последовательности, указанной ниже: main () {... } int sp = 0; double val [MAXVAL]; void push (double f) {... } double pop (void) {... } тогда переменные sp и val могут быть использованы в push и pop просто путем вызова их названия; дополнительные объявления излишни. Но эти названия не видит main, так же она не видит pop и push. С другой стороны, если обратиться к внешней переменной до того, как ее обозначено или если его обозначено в отличном файле от того, где она используется, тогда обязательно оператор extern. Важно различать объявления внешних переменных и их определения. Объявление заявляет о свойствах переменной (главным образом ее тип); определение также выделяет пространство для хранения. Если строки int sp; double val [MAXVAL]; появятся внешне любой функции, они определяют внешние переменную sp и val, выделят место для их хранения, также служат объявлением для остальных данного исходного файла. Кроме того, строки extern int sp; extern double val []; объявляют для остальных исходного файла, sp является int и val является массивом типа double (чей размер определен где в другом месте), но они не создают самых переменных или выделяют место для их хранения. Каждый файл, входящий в программу, должен содержать только одно определение внешних переменных; другие файлы могут содержать объявления из extern, чтобы добраться до них. (Возможны также объявление extern в самом файле, содержащем эти определенные переменные.) Размеры массивов должны быть указаны с определениями, но не обязательны с extern-объявлениями. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Другие статьи по теме: - Функции и структура программ- Введение в c++ - Внешние переменные и область действия - Типы, операторы и выражения - Символьные массивы |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |