Международный гуманитарно-технический



бет27/37
Дата22.06.2023
өлшемі2,73 Mb.
#179096
түріЛекция
1   ...   23   24   25   26   27   28   29   30   ...   37
Байланысты:
konspekt lektsiya-2021-2022

Көрсеткіштер. Көрсеткіш қандай да бір мəліметтің адресінен тұратын айнымалы болып табылады. Жалпы айтқанда, көрсеткіш - адрестің қандай да бір символикалық бейнеленуі. &sum бұл жағдайда “sum айнымалысына көрсеткіш” дегенді білдіреді. Адресі сан болса, ал &sum адреснің символикалық бейнеленуі көрсеткіш типті константа болып табылады. Сондықтан sum айнымалысына бөлінген жады ұяшығының адресі бағдарлама орындалғанда өзгермейді.
Си тілінде көрсеткіш типті айнымалылар да кездеседі. Көрсеткіш типті айнымалылар мəні қандай да бір шаманың адресі болып табылады. Көрсеткіш ptr идентификаторымен белгіленген болсын, сонда келесідей оператор sum адресін ptr айнымалысына меншіктейді: ptr=&sum. Бұл жағдайда ptr sum-ға “көрсетеді” деп айтады. Яғни, ptr - айнымалы, &sum - константа. Ptr айнымалысы басқа да бір объектіге “көрсете” алады: ptr=&max.
Ptr мəні max айнымалысының адресі болып табылады. Адреске бағыттау операциясын (*) немесе жанама адрестеу операциясын қарастырайық, ptr айнымалысында _______max йнымалысына сілтеме болсын. Сонда осы айнымалының мəніне қол жеткізу үшін адреске бағыттау операциясын (*) қолдануға болады. Ptr көрсететін мəнді анықтау үшін келесі операторды жазамыз: res=*ptr; (Соңғы екі оператор, бірге алғанда, келесіге тең: res=max; Адресті алу жəне жанама адрестеу операциясын қолдану нəтижеге тура əкелмейді екен, операцияның атындағы “жанама” деген сөз де содан пайда болған).
(*) операциясы - осы таңбадан кейін айнымалыға көрсеткіш тұрса, операция нəтижесі көрсетілген адресі бар ұяшықта тұрған шама болып табылады.
Көрсеткіштерді баяндау. “Көрсеткіш” типті айнымалыны баяндағанда ол көрсеткіш қандай типті айнымалыға сілтеп тұрғанын көрсету керек. Өйткені əр түрлі типті айнымалы ұяшықтардың əр түрлі санын алады, жəне де көрсеткіштермен байланысты қандай да бір операцияларды орындағанда жадыда бөлінетін орынның көлемін білу керек. Көрсеткіштерді дұрыс баяндау мысалдары:
іnt *іptr;
char *cptr;
float *fptr.
Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдану. Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдануға мысал келтірейік. Бұл мысалда көрсеткіштер айнымалылардың мəнін ауыстыру үшін қолданылады. Берілген функция x жəне y айнымалыларының мəнін өзгертеді. X жəне y айнымалыларының адресін функцияға беру арқылы біз оларға қол жеткізуге мүмкіндік бердік.
Көрсеткіштерді жəне (*) операциясын қолданып, функция жадыдағы сəйкес ұяшықтарда орналасқан шамаларды алуға жəне олардың орнын ауыстыруға мүмкіндік алды.
Жадылар кластары жəне бағдарламаны өңдеу.
Жады класы айнымалыны қолдану облысын жəне осы айнымалының жадыда бар болу ұзақтығын анықтайды. Айнымалыны анықтағанда сəйкес түйінді сөз арқылы жадының класын көрсетуге болады. Жоғарыда қарастырған функцияларда қолданылған айнымалылар локальді болып табылған жəне олар осы функцияның ішінде ғана анықталған болып саналған, қайсібір айнымалыны бірнеше функцияларда қолдану үшін осындай айнымалыларды сыртқы айнымалы ретінде баяндау қажет. Функцияның сыртында анықталған айнымалылар сыртқы айнымалылар болып табылады жəне олардың қолдану облысы глобальді болады. Əрбір айнымалы анықталған типке жəне жадының қайсібір класына жатуы тиіс. Жадының класын баяндау үшін төрт түйінді сөз қолданылады: сыртқы класты баяндау үшін extern түйінді сөзі , автоматты _______класс үшін-auto сөзі, статикалық класты баяндау үшін- static сөзі жəне регистрлік класты баяндау үшін- register сөзі. Анықталған жады класына жататын айнымалылардың қасиеттерін қарастырайық.
Автоматтық айнымалылар. Функцияның ішінде баяндалған айнымалылар auto класына жатады деп есептелінеді, егер жады класының басқа айқын баяндауы болмаса, онда функцияда баяндалған айнымалылар автоматты болады. Кейде айнымалыны берілген функцияның ішінде ғана баяндалғанын көрсету үшін auto сөзін қолданау арқылы баяндайды. Аuto түйінді сөзі баяндалған айнымалыдағы айнымалы типінің спецификациясының алдында көрсетіледі. Автоматты айнымалылардың қолдану облысы локальді болады жəне осы айнымалы баяндалған функция шақырылғанда көрсетілген автоматтық айнымалылар активтенеді. Функцияның жұмысы аяқталғанда автоматтық айнымалылар жойылады, ал осы автоматтық айнымалыларға бөлінетін жады ұяшықтары басқа айнымалылар үшін қайтадан қолданылуы мүмкін. (Функцияның басында баяндалған айнымалылар функцияның ішінде қатынаса алады).


Достарыңызбен бөлісу:
1   ...   23   24   25   26   27   28   29   30   ...   37




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

    Басты бет