С++ те бағдарламалау пәнінен дәрістер



бет49/79
Дата07.02.2022
өлшемі380,73 Kb.
#94133
түріПрограмма
1   ...   45   46   47   48   49   50   51   52   ...   79
Байланысты:
Дәріс сабақтары С каз

Глобальды объектілер. Блоктар ішінде объектілерді қолдану мүмкіндігіне назар аудару қажет, Следует обратить внимание на возможность использовать внутри блоков объекты, которые по месторасположению своего определения оказываются глобальными по отношению к операторам и определениям блока. Есімізге түсірейік, блок – бұл тек функция денесі ғана емес, сонымен қоса ирек жақша ішіне алынған кез-келегн анықтама және операторлар кезектілігі.
Глобальды айнымалы программасынан мысал:
#include
int N=5;
/* Глобальная переменная */
void func(void)
{
printf("\tN=%d",N);
N--;
return;
}
void main()
{
int i;
for (i=0;i<5;x++)
{
func();
N+=2;
}
}
Программа орындалуының нәтижесі: N=5 N=6 N=7 N=8 N=9
int N айнымалысы main( ) және func() функциясының ішінде анықталмаған және олардың әрқайсысына байланысты глобальды объект болып табылады. Ғunc( ) –ты әр шақырған сайын N-нің мәні 1-ге азаяды, негізгі программада 2-ге ұлғаяды. Глобальді обьект блоктың ішінде глобальді обьектінің аты басқа мақсатпен иқолданғанда, анықтамамен "затенен" немесе "жасырылған" болуы мүмкін. Алдыңғы программаны модифицирлейміз:
#include
int N=5; /* глобальды айнымалы*/
void func(void)
{
printf("\tN=%d",N);
N--;
return;
}
void main()
{
int N; /* локальды айнымалы */
for (N=0;N<5;N++)
func() ;
}
Программа орындалуының нәтижесі: N=5 N=4 N=3 N=2 N=l
Автоматты жадының main( ) функциясынан шыққан int N айнымалысы int N глобальды айнымалысының мәніне еш әсер етпейді. Бұлар жадыдан әртүрлі аумақтары берілген әртүрлі объектілер. Ішкі айнымалы N main() функциясынан "көрінбейді" және бұл int N анықтамасының нәтижесі оның ішінде болады.


Достарыңызбен бөлісу:
1   ...   45   46   47   48   49   50   51   52   ...   79




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет