logo
ООП 2012

13) Классы памяти переменных.

1. Автоматические переменные (auto)(Две разные переменные)

main(){auto int a;…}abc() {auto int a;…}

2. Внешние переменные (extern)(Одна и та же переменная)

E xtern int a;

main()

{extern int a;…}

abc()

{extern int a;…}

bcd()

{int a;…}

3. Статические переменные (static)( В отличие от автоматической статическая переменная увеличивается с каждым вызовом)

abc()

{ int a=1; static int b=1;

… a++; b++; …}

4. Внешние статические переменные (extern static)(Внешняя переменная доступна во всех файлах программы, а внешняя статическая только в том файле, где описана)

int a;

extern static int b;

Файл

5. Регистровые переменные (register) (как и автоматическая, только по возможности размещается в регистре)

register int a;