□ register
–
auto
спецификаторына ұқсас, бірақ мұнда айнымалыға,
мүмкіндігінше, процессор регистрлерінен орын (жады) бөлінеді. Егер компи-
ляторда мұндай мүмкіндік жоқ болса, айнымалылар
auto
сияқты өңделеді.
int a;
// 1 а ауқымды айнымалысы
int main() {
int b;
// 2 b жергiлiктi айнымалысы
extern int x;
// 3 х айнымалысы басқа жерде
// анықталған
static int с;
// 4 с жергілікті статикалық
// айнымалысы
a = 1;
// 5 ауқымды айнымалыны меншіктеу
int a;
// 6 а жергілікті айнымалысы
a = 2;
// 7 жергілікті айнымалыны меншіктеу
::a = 3;
// 8 ауқымды айнымалыны меншіктеу
return 0;
}
int x = 4;
//9 х-ті анықтау жəне
//
инициалдау
Бұл мысалда
а
ауқымды айнымалысы барлық блоктан тыс анықталған. Ол
үшін жады программа жұмысының басында мəліметтер сегментінде бөлінеді,
ал оның əрекет ету аймағы бүкіл программа көлемін қамтиды. Көріну аймағы
– 6-8 жолдан басқа барлық программа жолдары, өйткені 6-жолда дəл осындай
атпен берілген жергілікті айнымалы анықталады, мұның əрекет ету аймағы си-
патталу нүктесінен (6-жолдан) басталып, блоктың соңында аяқталады.
Достарыңызбен бөлісу: |