ВУЗ:
Составители:
23
при входе в функцию или блок кода и уничтожаются при выходе
из него. Память под автоматические переменные выделяется в стеке.
Автоматическими переменными являются параметры функции, а
также переменные, определенные в ее начале или в начале блока кода по
схеме
[auto] тип имя [=начальное значение ];
Обычно слово auto опускают, и, по умолчанию , принимается , что
переменные, определенные таким образом, в теле функции, являются
автоматическими. Область видимости, а также время жизни
автоматических переменных ограничены телом функции. К ним
невозможно обратиться из других функций .
2.5.3 Локальные переменные . Статический класс памяти
Статические локальные переменные определяются также как и
автоматические только со словом static впереди, например,
static тип имя [=начальное значение ];
В отличие от автоматических переменных, статические создаются
один раз при запуске программы (причем , перед вызовом функции main), и
существуют до самого ее завершения .
2.5.4 Регистровый класс памяти.
В языке С введен специальный класс памяти , подобный
автоматическому, который предусматривает, что значение переменной
будет размещаться в регистре. Этот класс памяти называется регистровым
(register). Предполагалось, что он будет обеспечивать более быстрое
выполнение операций . Не все компиляторы поддерживают этот класс
памяти. В этих случаях регистровый класс памяти рассматривается как
автоматический . Могут быть определены как регистровые только
переменные типа char, short и int. Определение переменной регистрового
класса памяти начинается со слова register. Например:
register int i=0;
Переменные регистрового класса памяти имеют такие же область
видимости и время жизни, как и автоматические переменные. Определение
регистровых переменных обычно должно быть в начале блока. Существует
23
при входе в функцию или блок кода и уничтожаются при выходе
из него. Память под автоматические переменные выделяется в стеке.
Автоматическими переменными являются параметры функции, а
также переменные, определенные в ее начале или в начале блока кода по
схеме
[auto] тип имя [=начальное значение];
Обычно слово auto опускают, и, по умолчанию, принимается, что
переменные, определенные таким образом, в теле функции, являются
автоматическими. Область видимости, а также время жизни
автоматических переменных ограничены телом функции. К ним
невозможно обратиться из других функций.
2.5.3 Локальные переменные. Статический класс памяти
Статические локальные переменные определяются также как и
автоматические только со словом static впереди, например,
static тип имя [=начальное значение];
В отличие от автоматических переменных, статические создаются
один раз при запуске программы (причем, перед вызовом функции main), и
существуют до самого ее завершения.
2.5.4 Регистровый класс памяти.
В языке С введен специальный класс памяти, подобный
автоматическому, который предусматривает, что значение переменной
будет размещаться в регистре. Этот класс памяти называется регистровым
(register). Предполагалось, что он будет обеспечивать более быстрое
выполнение операций. Не все компиляторы поддерживают этот класс
памяти. В этих случаях регистровый класс памяти рассматривается как
автоматический. Могут быть определены как регистровые только
переменные типа char, short и int. Определение переменной регистрового
класса памяти начинается со слова register. Например:
register int i=0;
Переменные регистрового класса памяти имеют такие же область
видимости и время жизни, как и автоматические переменные. Определение
регистровых переменных обычно должно быть в начале блока. Существует
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »
