书上说,如果反复删除指针,程序会崩溃,为什么我反复删除指针,程序不会崩溃

发布于 科技 2024-08-05
20个回答
  1. 匿名用户2024-01-31

    其实,如果自己编写删除函数,首先要判断值是否有效;

    否则,像 delete 这样的功能就是一个系统功能,因为用户的错误,很难折叠整个系统。

  2. 匿名用户2024-01-30

    在 C++ 中重复删除指针是安全的,Delete 将确定已删除的指针是否为百搭指针。

  3. 匿名用户2024-01-29

    当指针变量定义时,将定义无空指针

    通配指针是指指针在使用后未设置为 null 的指针

    在这两种情况下,这并不危险,但危险在于您的使用初衷与您表达的意思相反。

    如果做以上两句话,那么每次使用指针时,只需要判断指针是否为空,就知道它是否是合法的指针。

    非法指针自然会导致程序崩溃或隐藏危险,如果它们崩溃,那么你必须感谢上帝,如果他们隐藏了危险,就相当于你的程序得了精神病,把你逼疯了。

  4. 匿名用户2024-01-28

    指针悬空后,如果一直丢弃,除了无缘无故占用一些内存外,不会有其他不良影响。

    但是,一旦程序调用了指向未知数的指针,并执行了写入操作,这是危险的。

    如果指针指向系统的核心进程,则该进程可能会导致意外的写入操作,并导致可能导致系统崩溃的异常,更可怕的是,如果指针指向硬件驱动程序,例如打印机、内存、CPU 调度或温度控制。

    结果是硬件的破坏。

  5. 匿名用户2024-01-27

    当指针变为 null 时,它不会指向特定的内存,如果要通过此指针访问内存,系统将找不到它应该拥有的内存,并且会崩溃。

  6. 匿名用户2024-01-26

    房东,你是字段指针有问题,如果想释放指针打开的空间,可以使用free(point)释放,然后point=null,也就是房东说指针挂了,这样系统就不会有问题了!

  7. 匿名用户2024-01-25

    这通常意味着,如果声明了一个指针,但未初始化并为其赋值,则该指针是垃圾值。

    通常会出现问题,因为您不知道该值指向哪一段内存,并且该内存不属于您的程序。

  8. 匿名用户2024-01-24

    指针指向另一个程序使用的内存并修改数据,从而导致异常。

  9. 匿名用户2024-01-23

    相当于你不经过任何申请手续就占用了不属于你的土地,属于违法......

  10. 匿名用户2024-01-22

    最后一句话,printf("%s",b);就是这样。

    因为 b 是一个字符串指针。

  11. 匿名用户2024-01-21

    如果你在程序中犯了错误,最终的 printf 不应该是 *b,直接写 b,b 是指针,printf 将从指针开始的地方输出。 如果写 *b,则为段错误,无法运行

  12. 匿名用户2024-01-20

    带尖括号的<>

    输出 b 未取消引用。

  13. 匿名用户2024-01-19

    一定不能用,指针变量存储一个内存地址,内存被释放,如果引用指针,肯定会发生内存错误,这肯定是没有意义的。 如果要再次使用它,可以为指针变量请求一段内存。

  14. 匿名用户2024-01-18

    通配指针是使用指针时的常见错误,通常,编译器将无法检测到在此运行时引起的错误。 这种错误只能由程序员自己来困扰。

    有些编译器可能会提供检查机制,但我相信要找出这种复杂情况导致的 wild pointer 问题并不容易,最好的解决方案是从程序员的源头解决。

    程序是崩溃还是输出垃圾值是随机生成的,因为是场指针,也就是只指向内存的地质是不确定的,碰巧指向无法访问的内存自然会崩溃,碰巧指向可访问的内存也没关系。

    决定这一点的不仅仅是编译器,还有系统环境。 由于它是随机的,因此深入研究这一点没有多大意义。

  15. 匿名用户2024-01-17

    应该是错误,j没有初始化,p表示过去是未知地址,如果这个地址的内容有问题,那么当*p输出时,程序肯定会失败。

    我试过了,程序挂断了,没有输出。

    这可能与编译器有关,也可能是这个j的地址内容特殊。

  16. 匿名用户2024-01-16

    我身下出了点问题

  17. 匿名用户2024-01-15

    在第一个for循环结束后,i=10,那么你的*(p+i)等价于*(p+10),你对p的赋值是p=a,a是数组的第一个地址,所以你的第一个*(p+10)实际上是*(a+10),数组大小是10,已经越界了,所以打印的值是错误的, 并且打印的自动增长循环一定是错误的。

    朋友,请【领养答案】,你的领养是我回答问题的动力,如果你不明白,请问。 谢谢。

  18. 匿名用户2024-01-14

    将上一个 printf 中的 *(p+i) 更改为 *p,然后重试。

  19. 匿名用户2024-01-13

    在上图中,在开合的瞬间,V1和V2绕组的电流增加,方向是从V2到V1,使磁场增大,V1和V2绕组自感电动势产生的磁场应抵消原磁场的变化, 即自感电动势产生的电流方向与原电流方向相反,自感电动势的电流方向从V1到V2,自感电动势的电流在W1和W2绕组中产生互感电动势,其方向为W2正W1负, 在上面的接线图中,电流表指针是正确的偏置。

  20. 匿名用户2024-01-12

    您可能理解,C++ 中允许指向 null 的指针,但它们必须与 new 和 delete 结合使用才能导致通配指针或垃圾邮件。 请记住:在新指针之后,使用完后使用 delete 将其删除。

相关回答
15个回答2024-08-05

在冬夜读书,子玉。

歌曲)陆悠。 >>>More

27个回答2024-08-05

是的,您指的是家庭或企业路由器吗?

家庭用词,如宽带路由器很容易。 只需设置即可。 当你进入时,你可以看到一个登录框,一般原始密码是:admin。 >>>More

10个回答2024-08-05

劳动价值论是认为价值是浓缩在商品中的无差别的人类劳动,即抽象劳动被创造出来的理论。 商品的价值是由商品所体现和实现的社会必要劳动所决定的理论,是人们在漫长的历史时期中逐渐认识到的。 劳动决定价值的观点最早是由英国经济学家佩蒂提出的。 >>>More

34个回答2024-08-05

IE8,因此请为两个版本更改它。

解决方案如下: >>>More

4个回答2024-08-05

“全球变暖理论”质疑”。

“全球变暖理论”质疑”。 >>>More