例如:
void *p1 = someStringPointer;
void *p2 = p1;
尽管它们是两个唯一的指针,但鉴于它们都指向相同的值,它们仍然是不同的内存对象吗?
答案 0 :(得分:6)
如果打印p1
和p2
的地址
printf("%p\n", (void *) &p1);
printf("%p\n", (void *) &p2);
它们具有不同的地址,所以是的,它们是不同的内存对象。
答案 1 :(得分:4)
p1
和p2
位于内存的两个不同地址(在本例中为堆栈区域),但它们包含相同的值,其值为someStringPointer
。