gpt4 book ai didi

c - == 用于指针比较

转载 作者:太空狗 更新时间:2023-10-29 16:23:25 25 4
gpt4 key购买 nike

我引用了 Kernighan & Ritchie 的“The C Programming Language”:

Any pointer can be meaningfully compared for equality or inequality with zero. But the behavior is undefined for arithmetic or comparisons with pointers that do not point to members of the same array. (There is one exception: the address of the first element past the end of an array can be used in pointer arithmetic.)

这是否意味着我不能依赖 == 来检查不同指针的相等性?这种比较在什么情况下会导致错误的结果?

最佳答案

我想到的一个例子是哈佛架构,它为代码和数据提供了独立的地址空间。在该体系结构的计算机中,编译器可以在代码内存中存储常量 数据。由于这两个地址空间是分开的,因此指向代码存储器中地址的指针可能在数值上等于数据存储器中的指针,而不是指向相同的地址。

关于c - == 用于指针比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com