簡體   English   中英

具有相同數據的兩個C空指針是否是不同的存儲對象?

[英]Are two C void pointers with the same data different memory objects?

例如:

void *p1 = someStringPointer;
void *p2 = p1;

盡管它們是兩個唯一的指針,但鑒於它們都指向相同的值,它們是否仍是不同的內存對象?

如果打印p1p2的地址

printf("%p\n", (void *) &p1);
printf("%p\n", (void *) &p2);

它們具有不同的地址,所以是的,它們是不同的存儲對象。

p1p2位於內存上的兩個不同地址(在本例中為堆棧區域),但是它們包含相同的值,它們的值是someStringPointer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM