Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Функции и структура программ


Статические переменные

Переменные sp и val со stack.c а также buff и bufp с getch.c существуют для частного использования в функциях соответствующих исходных файлов и не предназначены для доступа чем другим. Объявление static внешней переменной или функции ограничивает зону действия этого объекта остальными исходного файла, который будет собран. Внешний static, таким образом, дает возможность скрыть такие названия как buf и bufp в комбинации с getch-ungetch, которые в свою очередь, тоже должны быть внешними для совместного их использования, но чьи подробности не должны быть видимыми пользователям getch и ungetch. Статический тип хранения данных указывается путем добавления слова static перед обычным объявлением. Если две функции и две переменные собран в одном файле, как то
static char buf [BUFSIZE]; / * буфер для ungetch * /
static int bufp = 0; / * последующее свободное положение в buf * /

int getch (void) {... }

void ungetch (int c) {... }
тогда никакая другая функция не в состоянии будет обратиться в buf и bufp и эти названия не створюватимусть конфликта с такими же названиями в других файлах той же программы. Аналогично, переменные, используемые функциями push i pop для манипулирования стеком, можно скрыть, если объявить sp и val как static.


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

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

Другие статьи по теме:

- Функции и структура программ
- Введение в c++
- Внешние переменные и область действия
- Символьные массивы
- Типы, операторы и выражения


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами