当前位置: 首页 > article >正文

c语言 / 指针错误的几种情况

1.未初始化的指针,直接释放

int *p; //计算机随机指向一片内存

2.free一个指针,指针没有指向NULL,直接使用

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

free(p); 

//p依旧指向释放前内存的地址, 但是这片内存已经被释放, 被其他变量重新使用, 正确的做法是在free(p)之后需要p=NULL;

3.定义指针指向数组,通过数组越界访问

int arr[3];

int *p=arr;

*(p+3)=100;

4.指针函数返回局部变量的地址

int *fun()

{

char str[]="hello";

return str; //局部变量,会随着str的结束而结束

}


http://www.kler.cn/a/148711.html

相关文章:

  • [白月黑羽]关于仿写类postman功能软件题目的解答
  • Jupyter Book 快捷键总结大全
  • 云服务器端口开放
  • LinuxCentos中安装apache网站服务详细教程
  • 【LeetCode】【算法】5. 最长回文子串
  • 浅谈:基于三维场景的视频融合方法
  • 从 0 到 1 开发一个 node 命令行工具
  • 【Linux驱动开发】环境搭建Linux驱动开发环境
  • EDA实验-----正弦信号发生器的设计(Quartus II )
  • asp.net core HttpContextAccessor类
  • springBoot的实现原理;SpringBoot是什么;使用SpringBoot的核心功能;springBoot核心注解以及核心配置文件
  • qt QString字符串常用转换
  • Vue3指令:搜索框输入防抖实现(附源码)
  • 单片机复位电路
  • 【华为OD题库-036】跳格子2-java
  • springBoot设置多数据源
  • uniapp地图基本使用及解决添加markers不生效问题?
  • Linux shell编程学习笔记31:alias 和 unalias 操作 命令别名
  • 力扣 39. 组合总和 递归解法
  • Linux处理系统常见命令
  • [个人笔记] vCenter6.7使用自建SSL证书
  • UE5 范围内随机生成
  • 1. TiDB-Operator 备份到 Minio
  • RK3566RK3568 安卓11 在framework层进行串口通信
  • 【LeetCode】70. 爬楼梯
  • 服务器运行train.py报错解决