C класове памет
вземете знания тук
C класове памет
Какви класове памет съществуват в езика C?
Какво представлява класът на паметта в C?
Класове памет в C
Клас на автоматична памет
Обикновена променлива, декларирана вътре в блок, без да се посочва различен клас, има по подразбиране класа на автоматичната памет.
Такава променлива се вижда вътре в блока.
Променливите с автоматичен клас на паметта се разпределят в стека.
Така че по подразбиране локалната променлива има клас памет автоматично.
Клас на статична памет
Променливи, декларирани като статични, т.е. static, запазват стойността си между обажданията. Пример за статични променливи:
Получаваме:
При второто извикване стойността на променливата с клас памет автоматично, т.е. autoVar в този пример е загубен и стойността на статичната променлива, т.е. staticVar в този пример, запазен.
Още една тънкост. статичната променлива се инициализира само веднъж. Ако беше по друг начин, тогава стойността на static staticVar ще бъде нулирана при повторно повикване.
По подразбиране всички глобални променливи са статични. И те се виждат само в досието им.