Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Внешние переменные



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

Пример:

#include <stdio.h>

int x=145;//Описание внешней переменной
main()
{
extern int x,y;
printf("x=%d y=%d \n",x,y);
}
int y=541; //Описание внешней переменной

Результатом работы программы будет вывод:

x=145 y=541

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

Обычно поступают так, как показано в приведенном выше примере.

Все внешние переменные размещают в начале исходного модуля (вне всяких функций!), опуская дополнительные описания со словом extern внутри функций. Конечно, если внешняя переменная и функция, которая ее использует, размещены в разных файлах, описывать эту переменную в функции необходимо.

Но самым важным способом является описание каждой внешней переменной с ключевым слова extern в любой функции, которая ее использует. Применять внешние переменные нужно очень осторожно, так как они часто служат источником трудно обнаруживаемых ошибок.

int var;

main()

{extern int var;

}

func1()

{ extern int var;

}


Лекция 7.

Пример:

#include<iostream.h>

int x=3; /*описание внешней переменной */

/* увелечение x */

int plus1()

{

x=x+1;

cout<<"\n прибавляем единицу: x="<<x;

}

// обе функции “видят” одну и ту же переменную

/*уменьшение x */

int minus1()

{

x=x-1;

cout<<"\n вычитаем единицу: x="<<x;

}

main()

{

cout<<"\n начальное значение x="<<x;

plus1();

minus1();

minus1();

}

Результатом работы программы будет вывод:

начальное значение x=3

прибавляем единицу: x=4

вычитаем единицу: x=3

вычитаем единицу: x=2





Дата публикования: 2014-12-08; Прочитано: 231 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...