使用指针访问主内存的粒度是多少



如果我将指针"p1"分配给一个通用地址,将该地址增加尽可能小的数量,并将该增加的地址分配给指针"p2",那么两个指针的地址之间会有多少内存位?答案是否特定于CPU?感谢

任何计算机中的地址都是字节地址。在考虑内存访问时,不可能有更小的粒度。

您可以通过增加指针来完全访问内存中的连续字节,但必须有一个指向字节的指针(例如C中的char或unsigned char)。

如果您的指针指向另一种实体(int、float、structs等),则递增指针将指向下一个实体。例如,对于指向int(4字节)的p is指针,p++将添加到int(4)的p大小。

谷歌的"指针算术"如果不熟悉这些概念的话。

最新更新