gpt4 book ai didi

void 指针可以安全地指向另一个指针吗?

转载 作者:行者123 更新时间:2023-12-05 09:23:45 26 4
gpt4 key购买 nike

这可能是显而易见的,但是一个 void 指针可以安全地指向另一个指针吗?即指向一个类型 int *

int i = 5;
int *ip = &i;
void *vp = &ip;

int *nip = *(int **)vp;
int ni = *nip; // == 5?

编辑:抱歉,我可能没说清楚,我想知道 void 指针是否可以指向具有另一个指针类型的内存部分;而不是一个空**。只是无效 *

最佳答案

是的,您可以将任何对象指针转换为 void * 并返回到原始指针类型,而不会丢失信息。

出自马口:

(C99, 6.3.2.3p1) "A pointer to void may be converted to or from a pointer to any incomplete or object type. A pointer to any incomplete or object type may be converted to a pointer to void and back again; the result shall compare equal to the original pointer."

关于void 指针可以安全地指向另一个指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329437/

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