打下巴用什么玻尿酸最好| 为什么剪指甲不会疼| 专科有什么专业| 耳麦是什么| 紫色是什么颜色调出来的| 深海鱼都有什么鱼| 男人要的归属感是什么| 抹茶是什么茶叶做的| 津液亏虚是什么意思| 盐酸对人体有什么危害| 卡布奇诺是什么意思| 盐酸盐是什么| 银五行属性是什么| 犬瘟热是什么症状| 为什么会有肾结石| 摆子是什么意思| 吃黑木耳有什么好处| 百脚虫的出现意味什么| 女人为什么会宫外怀孕| 伥鬼是什么意思| 净身出户需要什么条件| 什么药清肺化痰好| 我可以组什么词| 被螨虫咬了非常痒用什么药膏好| 摩羯座女和什么座最配| 怀孕后期脚肿是什么原因| 处级上面是什么级别| 委曲求全是什么生肖| 五六月份是什么星座| 女性尿道炎吃什么药| 什么季节掉头发最厉害| 胰岛素的作用是什么| 肛周脓肿是什么原因引起的| lfc是什么意思| 腮腺炎是什么| 胎位roa是什么意思| cn是什么意思二次元| 鼻子干燥用什么药| 井什么有什么| 胆固醇高不可以吃什么食物| 蛋白电泳是查什么的| 小孩吃牛肉有什么好处| 心率高有什么危害| sap是做什么的| 正山小种属于什么茶| 躁郁症是什么| 尿道炎是什么原因引起的| 肠腔积气是什么原因| 尿道口痛什么原因| 一箭双雕是指什么生肖| 女性排卵期一般在什么时候| 60年属鼠是什么命| 潜力是什么意思| y是什么元素| 口腔溃疡什么原因| 暂时无法接通是什么意思| 什么上树全靠一张嘴| 中老年喝什么奶粉好| 什么样的孙悟空| 血淀粉酶是检查什么的| 苔藓是什么意思| 膝关节弹响是什么原因| 曲马多是什么药| 怀孕第一个月有什么特征| 乳酸脱氢酶是什么| 我在你心里是什么颜色| 织锦是什么面料| 眼睛发炎用什么眼药水| 什么样的池塘| 灵芝孢子粉有什么作用| 什么时机塞给医生红包| 肝浸润是什么意思| 手指甲有竖纹是什么原因| 脾脏切除后有什么影响| 桂圆龙眼有什么区别| 梦见白蛇是什么预兆| 羊肉炖什么好吃又营养| 利妥昔单抗是什么药| 预防医学是干什么的| 去脂体重什么意思| 鲥鱼是什么鱼| 新生儿什么时候剪头发| 下体有异味是什么原因| 肝内结节是什么意思啊| 仙风道骨指什么生肖| 冰丝是什么材料| 女性经常手淫有什么危害| 属猴男和什么属相最配| 三教九流代表什么生肖| 陈赫的老婆叫什么名字| mrv是什么检查| 眩晕挂什么科| 胎盘位于后壁是什么意思| 什么的肥料| 毛周角化症用什么药膏| 白羊座前面是什么星座| 椭圆脸适合什么发型男| 男人吃什么大补| 1994年出生属什么| 孕期什么时候补铁| 更年期什么时候| 锦纶氨纶是什么面料| 眼睑痉挛挂什么科| 果位是什么意思| 脂肪瘤是什么原因引起的| 脖子不舒服看什么科| 为什么会细菌感染| 看腋臭挂什么科| 1936年中国发生了什么| 做梦飞起来了是什么兆头| 手指疼挂什么科| 4月份什么星座| 检查胸部应该挂什么科| 运动员为什么吃香蕉| 经常口腔溃疡吃什么维生素| 六月是什么星座| 代肝是什么意思| 尿里有泡沫是什么病| 蝴蝶有什么寓意| 1905年属什么生肖| 多保重是什么意思| 手筋痛是什么原因| 台湾有什么特产| 高铁与动车的区别是什么| 子午流注是什么意思| 社保卡是什么样的图片| 拉肚子可以吃什么食物| 什么颜色的床单有助于睡眠| 梦见自己得绝症了是什么预兆| 不言而喻是什么意思| 颈椎轻度退行性变是什么意思| 脚背抽筋是什么原因引起的| 成人补锌吃什么药| 人流后什么时候来月经| 甲亢和甲状腺有什么区别| 什么是转氨酶| 两肺纹理增多模糊是什么意思| 结婚10周年是什么婚| 0l是什么意思| 梦见好多动物是什么意思| 怀孕了吃什么药能流掉| 球虫病有什么症状| adidas是什么品牌| 脚干裂用什么药膏| 头疼是什么原因导致的| vsd是什么意思| 充饥是什么意思| 曹操原名叫什么| 阳萎早谢吃什么药最好| 尿酸高可以吃什么水果| 鸽子公主是什么意思| 属龙的守护神是什么菩萨| 眼睛干涩用什么眼药水| 湿热体质适合喝什么茶| 前庭神经炎挂什么科| 解除是什么意思| 乳腺瘤是什么引起的| 小便多是什么原因男性| 睾头囊肿是什么意思| 白露节气的含义是什么| c4是什么驾驶证| 晚上为什么不能剪指甲| 五行土克什么| 电波系是什么意思| 润滑油可以用什么代替| 偶发性房性早搏是什么意思| 脱脂乳粉是什么| 吃什么对肺好| 中医调理身体挂什么科| 劲酒是什么酒| 头皮问题挂什么科| 黑管是什么乐器| 苹果越狱是什么意思啊| 气血亏虚什么症状| 浑身没力气是什么原因| 牙痛吃什么药好| 布灵布灵是什么意思| 心不在焉是什么意思| 张靓颖什么星座| 什么书好看| 肚脐下面是什么部位| 黄辣丁吃什么食物| 桂林有什么好玩的景点| 印堂发黑是什么征兆| 四肢百骸是什么意思| 重色轻友是什么意思| 血稠吃什么药最好| 梦见地震是什么意思| 你叫什么名字英语怎么说| 芬太尼是什么药| 唇周发黑是什么原因| 虾皮不能和什么一起吃| d二聚体偏高说明什么| 胃火旺吃什么中成药| 敛肺是什么意思| 喜鹊吃什么| 为什么早上起来恶心想吐| 狗狗尾巴下垂代表什么| 空气炸锅什么牌子好| tiamo是什么意思| 保家仙是什么意思| 石加乏念什么| 血脉是什么意思| lamer是什么牌子| 梦见新房子是什么意思| 泌乳素高有什么症状表现| 孩子睡觉咬牙齿是什么原因引起的| 什么酒适合女生喝| 青衣是什么意思| 炒米是什么米做的| 类风湿因子高吃什么药| 刑冲破害是什么意思| 唯我独尊是什么意思| 顶嘴是什么意思| 鹦鹉拉稀吃什么药| 滨海新区有什么好玩的地方| runosd是什么牌子的手表| 动物园里面有什么动物| 芥末油是什么提炼出来的| 印迹杂交技术检查什么| 胃病吃什么好| 湿疹是什么样子的| 晟是什么字| 养乌龟有什么好处| dove什么意思| 肛裂涂什么药膏能愈合| 特长写什么| 大便一粒粒的是什么原因| 理性什么意思| 11是什么意思| 生化妊娠后需要注意什么| 96年什么命| 鸩杀是什么意思| 肾结石挂什么科| 光天化日什么意思| 什么东西进去是硬的出来是软的| 最大的沙漠是什么沙漠| 水瓶座和什么座最配对| 易主是什么意思| 发烧一直不退是什么原因| 莫桑钻和钻石有什么区别| 属鸡的女生和什么属相最配| 芷字五行属什么| 三叉神经痛挂什么科就诊| 美育是什么| 什么叫空调病| xswl是什么意思| 私房菜是什么意思| 甲氨蝶呤是什么药| 吃什么补肾最好| 杳什么意思| 悦五行属什么| 洋葱与什么食物相克| 世上谁嫌男人丑的前一句是什么| 轻微食物中毒吃什么药| 望洋兴叹什么意思| 尿路感染是什么原因引起的| eligible是什么意思| 什么身什么骨| 鼻子出血吃什么药| 泡泡棉是什么面料| 甲辰年五行属什么| 猫贫血吃什么补血最快| 阴道恶臭是什么原因| 百度Vés al contingut

新华网H5|跳一跳,看凉山旅游市场如何火爆

De la Viquipèdia, l'enciclopèdia lliure
Patró de disseny d'objectes nuls en UML.
百度 此番,李宁将代表中国奥运会经典颜色(番茄炒蛋)搬上了秀场,致敬了奥运历史上第一套中国的领奖服「Victor001」。

En informàtica, un punter nul o una referència nul·la és un valor desat per indicar que el punter o referència no fa referència a un objecte vàlid. Els programes utilitzen habitualment punters nuls per representar condicions com ara el final d'una llista de longitud desconeguda o la fallada per realitzar alguna acció; aquest ús de punters nulls es pot comparar amb els tipus anul·lables i amb el valor Nothing d'un tipus d'opció.

Un punter nul no s'ha de confondre amb un punter no inicialitzat: es garanteix que un punter nul es compara desigual amb qualsevol punter que apunti a un objecte vàlid. Tanmateix, depenent de l'idioma i la implementació, és possible que un punter no inicialitzat no tingui cap garantia. Podria comparar-se igual a altres punters vàlids; o podria comparar-se igual a punters nuls. Pot fer les dues coses en diferents moments; o la comparació pot ser un comportament indefinit.

Com que un punter nul no apunta a un objecte significatiu, un intent d'accedir a les dades emmagatzemades en aquesta ubicació de memòria (no vàlida) pot provocar un error en temps d'execució o una fallada immediata del programa. Aquest és l'error del punter nul. és un dels tipus més comuns de debilitats del programari,[1] i Tony Hoare, que va introduir el concepte, s'ha referit a ell com un "error de mil milions de dòlars".

Llenguatge C

[modifica]

A C, es garanteix que es comparen iguals dos punters nuls de qualsevol tipus. La macro del preprocessador NULL es defineix com una constant de punter nul definida per la implementació a < stdlib.h >, que en C99 es pot expressar de manera portàtil com ((void *)0), el que significa que el valor enter 0 es converteix al tipus void* (punter a buit). L'estàndard C no diu que el punter nul sigui el mateix que el punter a l'adre?a de memòria 0, tot i que això pot ser el cas a la pràctica. Desreferenciar un punter nul és un comportament indefinit en C, i una implementació conforme es permet assumir que qualsevol punter que es desreferencia no és nul.

A la pràctica, la desreferenciació d'un punter nul pot provocar un intent de lectura o escriptura des de la memòria que no està assignada, provocant un error de segmentació o una violació d'accés a la memòria. Això pot manifestar-se com una fallada del programa o transformar-se en una excepció de programari que es pot capturar pel codi del programa. Hi ha, però, certes circumstàncies en què no és així. Per exemple, en el mode real x86, l'adre?a 0000:0000 és llegible i també es pot escriure, i desreferenciar un punter a aquesta adre?a és una acció perfectament vàlida però normalment no desitjada que pot provocar un comportament indefinit però sense bloqueig a l'aplicació. Hi ha ocasions en què desreferenciar el punter a l'adre?a zero és intencionat i està ben definit; per exemple, el codi de la BIOS escrit en C per a dispositius x86 en mode real de 16 bits pot escriure la taula de descriptors d'interrupció (IDT) a l'adre?a física 0 de la màquina desreferenciant un punter nul per escriure. També és possible que el compilador optimitzi la desreferència del punter nul, evitant un error de segmentació però provocant un altre comportament no desitjat.[2]

Llenguatge C++

[modifica]

En C++, mentre que la macro NULL es va heretar de C, el literal enter de zero s'ha preferit tradicionalment per representar una constant de punter nul.[3] Tanmateix, C++11 va introduir la constant explícita de punter nul nullptr i el tipus nullptr_t que s'utilitzarà en el seu lloc.

Mitigació

[modifica]

Hi ha tècniques per facilitar la depuració de referències de punter nul.[4] Bond et al.[4] suggereix modificar la màquina virtual Java (JVM) per fer un seguiment de la propagació nul·la.

Els llenguatges funcionals purs i el codi d'usuari que s'executen en molts llenguatges interpretats o de màquina virtual no pateixen el problema de la desreferenciació de punters nuls, ja que no es proporciona accés directe als punters i, en el cas dels llenguatges funcionals purs, tot el codi i les dades són immutables.

Referències

[modifica]
  1. ?CWE-476: NULL Pointer Dereference? (en anglès). MITRE.
  2. Lattner, Chris. ?What Every C Programmer Should Know About Undefined Behavior #1/3? (en anglès). blog.llvm.org, 13-05-2011. Arxivat de l'original el 2025-08-14. [Consulta: 14 juny 2023].
  3. Stroustrup, Bjarne. ?Chapter 5:
    The const qualifier (§5.4) prevents accidental redefinition of NULL and ensures that NULL can be used where a constant is required.?. A: The C++ Programming Language (en anglès). 14th printing of 3rd. United States and Canada: Addison–Wesley, mar? 2001, p. 88. ISBN 0-201-88954-4.
     
  4. 4,0 4,1 Bond, Michael D. ?Tracking bad apples?. A: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications - OOPSLA '07 (en anglès), 2007, p. 405. DOI 10.1145/1297027.1297057. ISBN 9781595937865. 
胸闷气短吃什么药疗效比较好 射精出血吃什么药最好 三唑磷主要打什么虫 心心相惜是什么意思 什么是框架协议
810是什么意思 外交部长是什么级别 做胃肠镜挂什么科 早上九点半是什么时辰 睡醒头疼是什么原因
生辰八字五行缺什么 纸老虎是什么意思 血管瘤是什么样子的 移居改姓始为良是什么意思 血压低吃什么药见效快
蛋白尿是什么原因引起的 电解液是什么 beyond是什么意思 见路不走是什么意思 什么拉车连蹦带跳
獭读什么yanzhenzixun.com 94年的属什么jinxinzhichuang.com 小便短赤什么意思hcv9jop3ns2r.cn 吃什么长胖hcv9jop0ns3r.cn 7.6是什么星座hcv8jop0ns8r.cn
五彩绳什么时候扔掉hcv8jop8ns4r.cn 拉肚子拉水吃什么药hcv8jop4ns5r.cn mct是什么hcv8jop5ns9r.cn 为什么会长黄褐斑inbungee.com 做梦梦见大火是什么意思hcv8jop9ns0r.cn
8月15日是什么星座zsyouku.com 肚子里的蛔虫是什么意思hcv7jop6ns8r.cn 什么材质hcv8jop9ns6r.cn 双引号是什么意思sscsqa.com 路征和景甜什么关系hcv7jop9ns5r.cn
也许是什么意思520myf.com 勤劳的小蜜蜂什么意思hcv7jop4ns6r.cn 过敏性鼻炎有什么症状beikeqingting.com 澎湃的什么hcv9jop5ns5r.cn 动物的脖子有什么作用hcv8jop5ns3r.cn
百度