53
тік
жақша қойылмаса, қате туралы хабарлама берілмейді, бірақ жиымның
тек алғашқы элементі бос болып белгіленеді де,
қалғандарын кейінгі опе-
рацияларда пайдалануға болмайды. Мұндай қол жеткізуге болмайтын жады
ұяшықтары «қоқыс» деп аталады.
НАЗАР АУДАРЫҢЫЗ
Егер нұсқауыш-айнымалы өзінің əрекет ету аймағынан шығып кетсе,
оған бөлінген
жады аймағы босатылады, яғни нұсқауыш сiлтеме жасап тұрған динамикалық айнымалыға
қол жеткізу мүмкін болмай қалады. Мұндайда динамикалық айнымалының өзіне бөлінген
жады босатылмайды. «Қоқыстың» пайда болуының басқа бір жағдайы – инициалданған
нұсқауышқа басқа нұсқауыштың мəнiн меншіктеу. Мұндай кездерде оның бастапқы мəні
мүлдем жойылады.
Жұлдызшалар, жай жəне тiк жақшалар
комбинациясы арқылы құрама
типтерді жəне құрама типтерге нұсқауыштарды сипаттауға болады, мысалы,
int *(*p[10])();
операторында
int
типіне нұсқауыштарды қайтаратын параметрсiз
функцияларға деген 10 нұсқауыштан тұратын жиым жарияланған.
Келісім бойынша тік жəне жай жақшалардың басымдықтары
(басымдылықтары) бірдей, бірақ олар жұлдызшадан
гөрі басымырақ болып
табылады да, солдан оңға қарай қарастырылады. Қарастыру реттілігін өзгерту
үшiн қосымша жай жақшалар қолданылады.
Күрделi сипаттамаларды қарастыру кезінде «iштен сыртқa қарай» ережесін
ұстану керек, оның əрекеттері:
1) егер атаудың оң жағында тік жақшалар бар болса, онда – бұл жиым, ал
жай жақшалар болған жағдайда –
бұл функция;
2) егер атаудың сол жағында жұлдызша бар болса, бұл бұрынырақ
сипатталған конструкцияға нұсқауыш;
3) егер оң жақта
жабылған жай жақша кездессе, онда жақша ішінде
жоғарыда көрсетілген ережелерді пайдаланып алып, содан соң сыртқы
өрнектерді
қарастыру керек;
4) ең соңғы кезекте тип спецификаторы қарастырылады.
Жоғарыда берілген сипаттама үшін қарастырылатын приориттеттер
реттілігі цифрлер көмегімен көрсетілгенде, төмендегідей болады:
Достарыңызбен бөлісу: