腾讯技术岗位笔试&面试题(三)

说在前面

本篇文章是腾讯技术面试题目汇总第三篇
后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案和分析。
欢迎大家点赞关注转发。
最近有点忙,所以更新的比较忙一些

1.野指针是什么?如何检测内存泄漏?

  1. 野指针:指向内存被释放的内存或者没有访问权限的内存的指针。
  2. “野指针”的成因主要有3种:
    • 指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。例如
      char *p = NULL;
      char *str = new char(100);
    • 指针p被free或者delete之后,没有置为NULL;
    • 指针操作超越了变量的作用范围。
  3. 如何避免野指针:
    • 对指针进行初始化
    • 将指针初始化为NULL。

      char * p = NULL;

    • 用malloc分配内存

      char * p = (char * )malloc(sizeof(char));

    • 用已有合法的可访问的内存地址对指针初始化

      char num[ 30] = {0};
      char *p = num;

    • 指针用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值