如何比较两个空的地址*

gra*_*ter -1 c pointers

我有两个void *,即void *avoid *b.让我们说a是在0x804ae0b现在0x804aec.我该如何比较两者?我想检查地址a是否低于地址b.

Eri*_*Man 11

标准运营商void *也在努力:

if (a < b) ...
Run Code Online (Sandbox Code Playgroud)

  • @dlask一个合理的观点.也许这需要标记"语言律师".关于`void*`(C99 - 6.5.8)的规范并不是很清楚,并且考虑到它们不能被删除是多么不透明(6.5.6),可以公平地询问它们是否可以(关系)进行比较.我认为实际的答案是(据我所知)实施者通常采用的句子"当比较两个指针时,结果取决于指向的对象的地址空间中的相对位置." 适用于`void`指针. (2认同)
  • @DanAllen我非常喜欢你的评论,特别是"*它是否可以(关系)比较*"是公平的." (2认同)