[138] Pointers

Title Text:Every computer, at the unreachable memory address 0x-1, stores a secret. I found it, and it is that all humans ar鈥擲EGMENTATION FAULT.

Origin:https://xkcd.com/138/

https://www.explainxkcd.com/wiki/index.php/138:_Pointers

建议

https://www.douban.com/photos/photo/754514161/

这部漫画是关于“指针”这个词的双重含义的戏剧。 Cueball正在玩视频游戏,但他似乎陷入困境。所以他要求Black Hat提供一些在游戏中取得进展的技巧(“指针”)。像往常一样,黑帽很烦人,因此他吐了几个(看似随机的)32位十六进制地址,这些地址是编程语言中的“指针”。这些指针用于访问计算机内存中的某个位置以完成任务;但是,这对游戏没有帮助。然后,Cueball因为没有回答他的问题而对Black Hat感到恼火。

标题文本中提到的分段错误是通过访问无效的存储器地址的结果。如果您定义指向无效地址的指针,然后尝试访问与其关联的内存位置,则最终可能会遇到此异常。十六进制地址0x-1肯定无效,因为它超出范围。如果将指针视为带符号的数字,则它指向最低地址0以下;如果你将它们视为无符号(意味着数字环绕,所以-1与32位系统上的最高地址 – 0xFFFFFFFF相同),如果它指向任何大于一个字节的对象,那么该对象的大部分已经过去最高的地址。因此,这是一个“隐藏位置”,但只要您尝试在该位置读取多个字节,就会出现段错误。

指针的结束字母是拼写,从上到下阅读,单词ACE。当Cueball正在玩游戏时,Black Hat可能会另外说他是游戏的王牌。

替代解释[编辑]

指针通常用于在游戏中作弊,并做一些事情,比如改变你拥有的钱。 Black Hat吐出的指针也可能是作弊码,这给了Cueball讨厌他的额外原因。

Leave a Reply

Your email address will not be published. Required fields are marked *

Categories