int i; // бүтiн айнымалы const int ci = 1; // бүтiн тұрақты int * pi; // бүтiн айнымалыға нұсқауыш const int * pci; // бүтiн тұрақтыға нұсқауыш int * const cp = &i; //бүтiн айнымалыға нұсқауыш-тұрақты const int * const cpc = &ci; /* бүтiн тұрақтыға нұсқауыш-тұрақты */ Мысалдардан байқағанымыздай, нұсқауыштың аты мен жұлдызшаның
арасында орналасқан
const модификаторы нұсқауыштың өзіне қатысты
болады жəне оның өзгеруіне мүмкіндік бермейді, ал жұлдызшаның сол
жағындағы
const өзі нұсқап тұрған мəннің тұрақтылығын көрсетеді.
Нұсқауыштарды инициалдау үшiн
& – адресті алу операциясы
қолданылған.
Нұсқауыш типті шамалар өздерінің əрекет ету аймағын, көріну аймағын
жəне өмірлік кезеңін анықтаудың жалпы ережелеріне бағынады.
Нұсқауыштарды инициалдау Нұсқауыштарды көбінесе динамикалық жадымен жұмыс iстеу кезінде
қолданады, оларды кейбір білгірлер үйінді (ағылшын тіліндегі heap сөзінің
аудармасы) деп атап жүр. Бұл программаның орындалуы кезінде қажеттiлігіне
қарай орын бөлуге болатын бос жады аймағы. Динамикалық айнымалылар деп аталатын динамикалық жадының бөлінген аймақтарын пайдалану тек
нұсқауыштар арқылы орындалады. Динамикалық айнымалылардың өмiрлік
кезеңі оларды құру нүктесінен программа соңына дейін немесе сол бөлінген
жадыны айқын түрде босатып алуға дейін созылады. C++ тілінде динамикалық
жадымен жұмыс істеудің екі тəсілі бар. Бiрiншi тəсілде – С тілінен келген
mallос функциялары мүмкіндіктері пайдаланылса, ал екiншiсінде –
new жəне
delete операциялары қолданылады.
Нұсқауышты анықтау кезінде оны инициалдауға, яғни оған бастапқы мəн
беруге тырысу керек. Инициалданбаған нұсқауыштарды байқамай жоспарсыз
пайдалану – программалардағы кең таралған қателiктер көзi. Инициалдау
кезінде берілетін мəн (инициализатор) нұсқауыштың атынан кейiн дөңгелек
жақшалар ішінде немесе теңдік белгісінен кейiн жазылады.
51
Нұсқауышты инициалдаудың төмендегідей əдiстерi бар:
1. Нұсқауышқа объектінің адресін меншіктеу, ол келесідей жолдармен
орындалады:
□ адресті алу операциясының көмегімен: