热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

C++中野指针

我一直在思考在求职面试中,我们是否要回答得很前面才能让面试官满意,或者说见人说人话,见鬼说鬼话,可以不回复得很全面,但是回答到让人舒服,顺便吹一下好话。有时候,坐在你对面的面试官水

我一直在思考在求职面试中,我们是否要回答得很前面才能让面试官满意,或者说见人说人话,见鬼说鬼话,可以不回复得很全面,但是回答到让人舒服,顺便吹一下好话。有时候,坐在你对面的面试官水平都未必比你好的,如果你回答的非常具体细致或者深入,那么我觉得达到的效果可能不是那么好。面试官会认为你在装逼。

        C++中的野指针,指针问题是每个程序员止步的重要门槛,初学者会认为指针问题难以理解,我当初也是如此。甚至于有的人当了十多年的程序,敲了十多年的代码,都还不清楚指针的用法和逻辑。

 

        我觉得如果有人问起野指针的作用,这么答就可以。首先,造成野指针的问题可能有三个原因:



  1. 指针创立后没有被初始化,直接去调用它。内存为0xcccccccc ,当字符串看就是 “烫烫烫烫……”,所以很多时候如果看到内存是这样的一定要引起重视。


  2. 释放指针后没有置为NULL。这是很多人的通病,因为大都数人觉得释放掉指针就完事了,殊不知这块指向还是不明,所以一个优秀的程序员释放完后要置为NULL,同时调用时加if判断


  3. 指针的变量作用范围区域超出。变量作用是有范围区域的,在范围之外使用了指向变量地址的指针。


 

 

     如果你能回答第一点和第二点,我觉得这个回答已经令很多面试官满意了,而第三点视情况去回答。为什么我强调内存为0xcccccccc呢,因为我面试过windows开发工程师,有个面试官就问我这段表示的



推荐阅读
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • 解决CLion无法检测到已安装CMake的问题
    本文详细探讨了在Windows系统上安装CMake并将其添加到环境变量后,CLion仍然无法检测到CMake的原因及解决方案。 ... [详细]
  • 本教程详细介绍了如何在Mac上使用Boot Camp Assistant安装Windows 7操作系统,包括准备工作、创建启动盘、分区和安装过程。 ... [详细]
  • 本文介绍了一种支付平台异步风控系统的架构模型,旨在为开发类似系统的工程师提供参考。 ... [详细]
  • 使用 Git Rebase -i 合并多个提交
    在开发过程中,频繁的小改动往往会生成多个提交记录。为了保持代码仓库的整洁,我们可以使用 git rebase -i 命令将多个提交合并成一个。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • Nvidia Ansel 工具为 PC 玩家提供了便捷的高精度图像采集和分享功能。本文介绍了如何将 Ansel 插件集成到虚幻引擎 4 (UE4) 游戏中,并详细说明了其主要功能和系统要求。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 如何修改360极速浏览器的默认安装路径
    本文介绍了一种有效的方法,帮助用户在新版360极速浏览器中成功更改默认安装路径,解决因权限问题导致的安装失败。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
author-avatar
Edward2502873903
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有