[英]Are two C void pointers with the same data different memory objects?
例如:
void *p1 = someStringPointer;
void *p2 = p1;
尽管它们是两个唯一的指针,但鉴于它们都指向相同的值,它们是否仍是不同的内存对象?
如果打印p1
和p2
的地址
printf("%p\n", (void *) &p1);
printf("%p\n", (void *) &p2);
它们具有不同的地址,所以是的,它们是不同的存储对象。
p1
和p2
位于内存上的两个不同地址(在本例中为堆栈区域),但是它们包含相同的值,它们的值是someStringPointer
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.