new операциясында
жиымның барлық өлшемдерін көрсету керек (ең сол жақтағы өлшем айныма-
лы болуы мүмкін), мысалы:
int nstr =5; int ** m = (int **) new int [nstr][10]; Екіөлшемді жиымға компьютер жадынан орын бөлудің əмбебап əрі
қауіпсіз тəсілі – оның екі өлшемін де программаның орындалуы барысында
беру, мысалы:
62
int nstr, nstb; cout << " Жолдар жəне бағаналар санын енгізіңіз:"; cin >> nstr >> nstb; int **a = new int *[nstr]; //1 for(int i = 0; i a[i] = new int [nstb]; // 3 ... 1 операторында «
int типіне нұсқауышқа нұсқауыш» типіндегі айнымалы
жарияланады жəне жиым жолдарына (жолдар саны –
nstr ) нұсқауыштардан
құралған жиым үшін жады бөлінеді.
2 операторында жиымның əрбір жо-
лына жады бөлу үшін цикл ұйымдастырылады.
3 операторында жолдарға
нұсқауыштардан құралған жиымның əрбір элементіне екіөлшемді жиымның
жолы үшін бөлінген жады аймағының бастапқы адресі меншіктеледі. Əрбір
жол
int типті элементтердің
nstb санынан тұрады (1.10-сурет).
Кез келген өлшемдердегі жиымнан компьютер жадын босату
delete[] операциясы арқылы орындалады. Тұрақтыға нұсқауышты жою мүмкін емес.
ЕСКЕРТУ Сипаттауларды дұрыс түсіну үшін келесі мнемоникалық ережені есте сақтаған жөн:
«суффикс префикстен берік бекітілген». Егер айнымалыны сипаттау кезінде бір мезгілде
* (нұсқауыш) префиксі жəне
[] (жиым) суффиксі қатар қолданылса, онда айнымалы
жиымға нұсқауыш ретінде емес, нұсқауыштар жиымы ретінде қарастырылады: мысалы,
int *р[10]; – int типіне арналған 10 нұсқауыштан құралған жиым.
1.10-сурет. Екіөлшемді жиымға жады бөлу
Жиымтар қолданылатын басқа программалар практикумның [11] 55-88
беттерінде қарастырылған.
63
Тіркестер Сөз тіркесі немесе тіркес нөл-символмен аяқталатын, символдардан
құралған жиым болып табылады. Нөл-символ – бұл коды нөлге тең болатын
символ, ол
'\0' басқару тізбегі түрінде жазылады. Нөл-символдың орнала-
суы бойынша тіркестің ұзындығы анықталады. Тіркесті тіркестік литералмен
инициалдауға болады (13 б. қараңыз):