gpt4 book ai didi

c - 使用指针进行类型转换

转载 作者:行者123 更新时间:2023-11-30 20:26:45 27 4
gpt4 key购买 nike

我不知道如何使用指针进行类型转换

double x = 0.7;
int *ptr = (int *)&x;

*(byte )&x 发生了什么? &x 表示变量x的地址。那么地址类型转换是什么意思呢?现在 ptr 也可以引用 x 吗?如果是的话,我们不会丢失数据吗?

还有ptr的大小是多少?

最佳答案

该行获取变量x的地址并将其值存储到ptr。您必须强制转换该赋值,因为不允许将 double* 赋值给 int*。

通过在赋值后取消引用 ptr,您违反了别名规则并导致程序显示未定义的行为。

ptr 的大小等于 sizeof( ptr )sizeof( int* ) 表达式的结果。

关于c - 使用指针进行类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182343/

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