gpt4 book ai didi

c - 指针减法困惑

转载 作者:行者123 更新时间:2023-11-30 16:29:17 24 4
gpt4 key购买 nike

当我们从另一个指针中减去一个指针时,差值不等于它们相距多少字节,而是等于它们相距多少个整数(如果指向整数)。为什么会这样?

最佳答案

这个想法是你指向内存块

+----+----+----+----+----+----+
| 06 | 07 | 08 | 09 | 10 | 11 | mem
+----+----+----+----+----+----+
| 18 | 24 | 17 | 53 | -7 | 14 | data
+----+----+----+----+----+----+

如果您有 int* p = &(array[5]),则 *p 将为 14。转到 p=p-3 将使 *p 变为 17。

因此,如果您有 int* p = &(array[5])int *q = &(array[3]),则 p-q 应该是 2,因为指针指向相隔 2 个 block 的内存。

处理原始内存(数组、列表、映射等)时绘制大量方框!这真的很有帮助!

关于c - 指针减法困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51940229/

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