р[5]
немесе
*(р+5)
өрнектері арқылы қол жеткізуге болады.
Динамикалық жиымды құрудың альтернативті (баламалы) тəсілі – С тілі
кітапханасының
malloc
функциясын қолдану:
int n = 100;
fl oat *q = (fl oat *) malloc(n * sizeof(fl oat));
malloc
функциясын пайдалану алдында жазылған типті түрлендіру
операциясының қажеттілігі келесі себеппен түсіндіріледі: функция
void*
типті
нұсқауыш мəнін қайтарады, ал инициалданған нұсқауыштың типі –
fl oat
.
Динамикалық жиым үшін
new[]
операциясы арқылы бөлінген жады
delete[]
операциясы арқылы босатылады, ал
mallос
функциясы арқылы
бөлінген жадыны
free
функциясының көмегімен босату керек, мысалы:
delete [] p; free (q);
Компьютер жадын бөлу жəне босату тəсілдері сəйкес келмеген жағдайда
туындайтын нəтиже белгісіз болып табылады.
delete
операциясында жиым
өлшемі көрсетілмейді, бірақ тік жақшалар міндетті түрде жазылуы тиіс.
Көпөлшемді жиымдар оның əрбір өлшемін тік жақшалар ішіне жазу
арқылы беріледі, мысалы
int matr [6][8];
операторы 6 жолдан жəне 8 бағанадан тұратынын екіөлшемді жиымды си-
паттайды. Мұндай жиым компьютер жадында тізбектелген ұяшықтарда бір-
біріне жалғаса отырып, жолдар бойынша қатарласа орналасады. Көпөлшемді
жиымдар олардың құрамындағы бір элементтен келесісіне көшу кезінде ал-
дымен соңғы индекс өзгеретіндей етіп орналастырылады. Көпөлшемді жиым
элементіне қол жеткізу (пайдалану) үшін оның барлық индекстері көрсетіледі,
мысалы,
matr[i][j]
, немесе басқаша жолдармен:
*(matr[i]+j)
неме-
се
Достарыңызбен бөлісу: |