gpt4 book ai didi

c - 为什么在c中将void指针设置为int指针的地址可以,而相反则不行?

转载 作者:行者123 更新时间:2023-11-30 20:14:07 25 4
gpt4 key购买 nike

我有:

void *abc;
int *abc2;

int someInt = 5;
int *intPtr = &someInt;
abc = intPtr; // This line is ok without casting
abc2 = abc; // Here will be an error without casting

这是为什么?

最佳答案

在 C 语言中,两个赋值(两行)都完全可以,无需强制转换。

第二行会在 C++ 中产生错误,但您的问题被标记为 C。您关于第二行错误的断言是错误的。

关于c - 为什么在c中将void指针设置为int指针的地址可以,而相反则不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27853802/

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