Меңзер мен массив арасындағы айырмашылық

Меңзер мен массив арасындағы айырмашылық
Меңзер мен массив арасындағы айырмашылық

Бейне: Меңзер мен массив арасындағы айырмашылық

Бейне: Меңзер мен массив арасындағы айырмашылық
Бейне: Хэш-таблицы за 10 минут 2024, Қараша
Anonim

Сілтегіш пен массив

Көрсеткіш жад орнына сілтемені сақтайтын деректер түрі (яғни, көрсеткіш айнымалысы кейбір деректер сақталған жад орнының мекенжайын сақтайды). Массивтер элементтер жинағын сақтау үшін ең жиі қолданылатын деректер құрылымы болып табылады. Көптеген бағдарламалау тілдері массивтерді оңай жариялау және массивтердегі элементтерге қол жеткізу әдістерін қамтамасыз етеді.

Меңзер дегеніміз не?

Меңзер – кейбір деректер сақталған жад орнының мекенжайын сақтайтын деректер түрі. Басқаша айтқанда, көрсеткіш жад орнына сілтемені сақтайды. Көрсеткіш сілтеме жасайтын жад орнында сақталған деректерге қол жеткізу сілтемені жою деп аталады. Ағаштарды/жолдарды аралау, кестелерді іздеу және т.б. сияқты қайталанатын әрекеттерді орындаған кезде көрсеткіштерді пайдалану өнімділікті жақсартады. Себебі сілтемені алып тастау және көрсеткіштерді көшіру меңзегіштер көрсеткен деректерді көшіру және оларға қол жеткізуден гөрі арзанырақ. Нөлдік көрсеткіш - бұл ештеңені көрсетпейтін көрсеткіш. Java тілінде нөлдік көрсеткішке қатынасу NullPointerException деп аталатын ерекше жағдайды жасайды.

Массив дегеніміз не?

1-суретте көрсетілген, әдетте массивке мәндерді жариялау және тағайындау үшін пайдаланылатын код бөлігі. 2-суретте массив жадта қалай көрінетіні көрсетілген.

int мәндері[5];

мәндер[0]=100;

мәндер[1]=101;

мәндер[2]=102;

мәндер[3]=103;

мәндер[4]=104;

1-сурет: массивке мәндерді жариялау және тағайындау коды

100 101 102 103 104
Индекс: 0 1 2 3 4

2-сурет: жадта сақталған жиым

Жоғарыдағы код 5 бүтін сандарды сақтай алатын алапты анықтайды және оларға 0-ден 4-ке дейінгі индекстер арқылы қол жеткізіледі. Массивтің маңызды қасиеті: бүкіл массив жадтың бір блогы ретінде бөлінеді және әрбір элемент өзінің мәнін алады. массивтегі меншікті кеңістік. Массив анықталғаннан кейін оның өлшемі бекітіледі. Сондықтан компиляция уақытында массивтің өлшеміне сенімді болмасаңыз, қауіпсіз жағында болу үшін жеткілікті үлкен массивді анықтауыңыз керек. Бірақ, көбінесе, біз бөлінген элементтерден азырақ элементтерді қолданамыз. Осылайша, жадтың айтарлықтай көлемі іс жүзінде босқа кетеді. Екінші жағынан, «жеткілікті үлкен массив» шын мәнінде жеткілікті үлкен болмаса, бағдарлама бұзылады.

Көрсеткіштер мен массивтердің айырмашылығы неде?

Көрсеткіш – кейбір деректер сақталатын жад орнының мекенжайын сақтайтын деректер түрі, ал Массивтер элементтер жинағын сақтау үшін ең жиі қолданылатын деректер құрылымы. Си программалау тілінде массивтерді индекстеу көрсеткіш арифметикасының көмегімен орындалады (яғни x массивінің i-ші элементі (x+i) тең болады). Сондықтан C тілінде дәйекті жад орындарының жиынын көрсететін көрсеткіштер жиынын массив ретінде қарастыруға болады. Бұдан басқа, sizeof операторының көрсеткіштер мен массивтерде қалай жұмыс істейтінінде айырмашылық бар. Массивке қолданған кезде sizeof операторы массивтің бүкіл өлшемін қайтарады, ал көрсеткішке қолданған кезде ол көрсеткіш өлшемін ғана қайтарады.

Ұсынылған: