auto – автоматты класты сипаттау үшін қолданылады,
extern – сыртқы класты сипаттау үшін қолданылады,
static – статикалық класты сипаттау үшін қолданылады,
regirter – регистрлік класты сипаттау үшін қолданылады.
Автоматтық айнымалылар функция ішінде сипатталған айнымалылар, егер жады класының басқа айқын сипатталуы болмаса, онда олар auto класына жататын болып саналады, яғни келісім бойынша функцияның ішінде сипатталған айнымалы автоматтық айнымалы болып саналады. Кейбір жағдайларда берілген айнымалылар тек осы функцияның ішінде ғана сипатталған болса және осында ғана қолданылса, олар auto түйінді сөзі арқылы айқын сипаттала алады. Мысалы:
auto int m;
auto int b=12345;
auto float d=123.45;
auto char c;
Автоматтық айнымалыларды осындай етіп міндетті түрде сипаттау қажет емес. Егер айнымалы бір блок (функция басында) ішінде сипатталатын болса және оның класы көрсетілмесе, ол келісім бойынша автоматтық айнымалы болып саналады.
Автоматтық айнымалылар сол блокта ғана, яғни бір функция ішінде қолданылып, оның әсер ету аймағы локальді болады және осы айнымалылар сипатталған функция шақырылғанда ғана, көрсетілген автоматтық айнымалылар жұмыс істейді, яғни активтендіріледі (екпінді күйде пайдаланылады). Функцияның жұмысы аяқталғанда автоматтық айнымалылар жойылады да, оларға бөлініп берілген жадының ұяшықтарын басқа айнымалылар үшін қайтадан қолдануға болады.
Сыртқы айнымалылар. Функцияның сыртында сипатталатын айнымалылар сыртқы болып табылады. Сыртқы айнымалылар қолданылатын функция ішінде extern түйінді сөзі арқылы сол айнымалы қайта сипатталатын болады. Олардың әсер ету аймағы глобальді болып саналады. Мысалы:
int l; main() {extern int l; scanf(“%d”,&l); while(l!=50) pr(); printf(“Поиск завершен \n”); } pr()