Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Внешние (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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!