gpt4 book ai didi

c - C 中的浮点和双指针

转载 作者:行者123 更新时间:2023-11-30 18:44:33 26 4
gpt4 key购买 nike

是否可以将值直接存储到 double 或浮点指针?

int *ptr1;
double *ptr2;
*ptr1 = 12;
*ptr2 = 10.50; //is this really not allowed in C?
printf("%d\n", *ptr1);
printf("%f\n", *ptr2); //this does not display 10.50

最佳答案

是的,C 中确实不允许将值分配给由错误/未初始化的指针引用的内存。
您需要使用 malloc() (或分配系列中的同级)或地址运算符 &

但是允许执行这部分代码

*ptr1 = 12;
*ptr2 = 10.50;

正确初始化指针后。

事实上,您可能可以编译并运行所示的代码,甚至获得“预期”结果,但这并不矛盾。这称为未定义行为,它比程序未编译或未生成有用结果更糟糕。如果幸运的话,您会遇到段错误,但没有得到段错误仍然不能证明任何事情。

关于c - C 中的浮点和双指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57736964/

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