ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »