gpt4 book ai didi

c++ - 为什么在下面的代码中将内存分配给 *p

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

尝试了下面的程序,当我们声明指针变量时,会创建一个引用,需要显式分配内存。无法弄清楚为什么下面的程序可以工作。 *p 如何获得内存。

 int *p,b;
*p = 4;
printf("%d\n", *p);

最佳答案

没有为您创建内存,并且您正在使用 undefined behavior 。指针 p 已创建,但它的值是什么是任何人的猜测。您很幸运没有遇到运行时错误。

摘自您的评论

but when i remove variable b, I get segmentation fault as expected. above program i tried with different numbers. working properly.

这清楚地表明您有未定义的行为。添加或删除变量不应导致段错误

关于c++ - 为什么在下面的代码中将内存分配给 *p,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505290/

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