Поддерживать
www.wikidata.ru-ru.nina.az
U etogo termina sushestvuyut i drugie znacheniya sm NULL NULL v yazykah programmirovaniya Si i C makros obyavlennyj v zagolovochnom fajle stddef h i drugih zagolovochnyh fajlah Znacheniem etogo makrosa yavlyaetsya zavisyashaya ot realizacii konstanta nulevogo ukazatelya angl null pointer constant Konstanta nulevogo ukazatelya eto celochislennoe konstantnoe vyrazhenie so znacheniem 0 ili tolko v Si takoe zhe vyrazhenie no privedyonnoe k tipu void Konstanta nulevogo ukazatelya privedyonnaya k lyubomu tipu ukazatelej yavlyaetsya nulevym ukazatelem Garantiruetsya chto nulevoj ukazatel ne raven ukazatelyu na lyuboj obekt v shirokom smysle slova lyubye dannye ili funkciyu Garantiruetsya chto lyubye dva nulevyh ukazatelya ravny mezhdu soboj Razymenovyvanie nulevogo ukazatelya yavlyaetsya operaciej s neopredelyonnym povedeniem Inache govorya realizaciya predostavlyaet specialnoe znachenie konstantu nulevogo ukazatelya kotoruyu mozhno prisvoit lyubomu ukazatelyu i takoj ukazatel pri sravnenii ne budet raven lyubomu korrektnomu ukazatelyu To est mozhno schitat chto nulevoj ukazatel ne soderzhit korrektnogo adresa v pamyati IspolzovaniyaNulevye ukazateli pridumany kak udobnyj sposob otmetit ukazateli kotorye zavedomo ne ukazyvayut na korrektnyj adres v pamyati Naprimer pri obyavlenii ukazatelya kak avtomaticheskoj peremennoj ego znachenie ne opredeleno Chtoby otmetit chto etot ukazatel eshyo ne soderzhit korrektnyj adres v pamyati takomu ukazatelyu prisvaivayut konstantu nulevogo ukazatelya void f void int x NULL Horoshim stilem programmirovaniya yavlyaetsya prisvaivanie ukazatelyu posle osvobozhdeniya pamyati na kotoruyu on ssylalsya nulevogo ukazatelya Krome etogo primenenie obnuleniya ukazatelej aktualno dlya bezopasnosti osvobozhdeniya pamyati operaciya delete v C free v Si bezopasna dlya nulevogo ukazatelya Naprimer TYPE foo new TYPE ispolzovanie foo delete foo foo NULL nekotoryj kod programmy delete foo OShIBKA pamyat uzhe nedostupna v to vremya kak v takom variante oshibki ne budet TYPE foo new TYPE ispolzovanie foo delete foo foo NULL foo NULL foo NULL nekotoryj kod programmy delete foo oshibki net delete proveryaet znachenie fooRazmernost ukazatelyaPri vyzove funkcii v odin iz argumentov mozhet byt peredan NULL Makros NULL v raznyh kompilyatorah mozhet byt opredelen razlichnymi sposobami v tom chisle define NULL 0 define NULL void 0 V pervom sluchae NULL imeet tip int a vo vtorom sluchae tip void Sushestvuyut arhitektury gde sizeof int sizeof void togda na raznyh platformah v funkciyu budet prihodit raznoe kolichestvo bajt chto mozhet narushit eyo rabotu V nastoyashee vremya predprinimaetsya popytka reshit etu problemu v Si putyom vvedeniya nullptr sm predlozhenie N 2394 Razymenovyvanie nulevyh ukazatelejRazymenovyvanie nulevogo ukazatelya yavlyaetsya operaciej s neopredelyonnym povedeniem Na realizaciyu ne nakladyvaetsya nikakih ogranichenij mozhet proizojti naprimer obrashenie k pamyati ne prednaznachennoj dlya ispolzovaniya dannoj programmoj to est pri chtenii budet schitan musor a pri zapisi znachenie budet zapisano v oblast pamyati ne prinadlezhashuyu programme Naprimer v DOS zapis po nulevomu adresu zatryot kak minimum nulevoj vektor preryvanij tak chto sleduyushij vyzov int 0 privedyot skoree vsego k zavisaniyu sistemy Odnako chashe vsego eto privodit k oshibke vremeni vypolneniya esli v operacionnoj sisteme realizovana zashita pamyati i dostup v nevydelennuyu processu pamyat blokiruetsya Naprimer v Windows 9x soobshenie Obshaya oshibka zashity Programma vypolnila nedopustimuyu operaciyu i budet zakryta angl general protection fault GPF vydayotsya chashe vsego v teh sluchayah kogda programma obrashaetsya v pamyat po nekorrektnomu v tom chisle neinicializirovannomu ili uzhe osvobozhdyonnomu ukazatelyu V Unix podobnyh operacionnyh sistemah v takih situaciyah process poluchaet signal SIGSEGV i ego obrabotchik vyvodit soobshenie Segmentation fault Nulevye ukazateli v C Esli brat konkretnuyu realizaciyu NULL po ishodnym fajlam to on mozhet byt opredelen kak void 0 ili kak 0 Ispolzovanie NULL v proektah na yazyke C mozhet privodit k oshibkam Naprimer int ClassName pf NULL privedet k oshibke kompilyacii v sluchae esli NULL opredelen kak void 0 naprimer oposredovanno byl vklyuchen zagolovok gde standartnoe dlya C opredelenie NULL perekryvaetsya Poetomu v programmah na C ne rekomenduetsya ispolzovat NULL v vide void 0 V standarte C 11 dlya oboznacheniya nulevogo ukazatelya dobavleno novoe klyuchevoe slovo nullptr Sm takzheOshibka segmentacii Variativnaya funkciyaPrimechaniyaN 2394 angl Open Standards Data obrasheniya 22 maya 2020 27 iyulya 2020 goda JTC1 SC22 WG21 The C Standards Committee SC22 WG21 N2431 J16 07 0301 A name for the null pointer nullptr angl PDF JTC1 22 32 2 oktyabrya 2007 Data obrasheniya 4 oktyabrya 2010 Arhivirovano iz originala 11 fevralya 2012 goda angl Scott Meyers Summary of C 11 Feature Availability in gcc and MSVC ot 26 oktyabrya 2011 na Wayback Machine 16 August 2011Ssylkihttp c faq com null null1 html Arhivirovano 26 fevralya 2013 goda http c faq com null varieties html ot 18 avgusta 2011 na Wayback Machine, Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер
Вершина