前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言指针使用总结

C语言指针使用总结

原创
作者头像
Stare
发布2022-04-25 21:36:50
9840
发布2022-04-25 21:36:50
举报
文章被收录于专栏:看一看大海

前言

说起C语言中令人头疼的特性,相信大多数人都首先会提指针。

指针非常强大,但也非常不容易驾驭。不知道有多少人因为指针想大声对C语言高歌一曲”爱恨就在一瞬间“。

指针之所以强大,是因为它自由,可以让程序员充分发挥创意,去使用机器的全部能力。

也正是因为自由,所以它放大了人不够严谨的弱点,让人特别容易犯错。

这个系列的文章试图对指针方面常犯的错误做个梳理总结,帮助大家驯服这个C语言的野马。

指针问题本质上可以分为两类,一类是读不属于自己的内存,一类是写不属于自己的内存。

写不属于自己的内存会导致写坏其它流程的数据,引起其它无辜流程的异常。这就是程序员们谈虎色变的”踩内存“,因为这种问题通过分析出错位置处的代码很难看出出错点,所以极难排查。

至于为什么会读写不属于自己的内存,根据问题起因,大体可以分为以下两大类情况:

分类

错误情形

说明

内容错误

1.未初始化 2.空指针 3.指针失效

指针或指针指向的数据错误

过程错误

1.指针偏移计算问题 2.指针访问边界问题 3.指针类型问题 4.结构体对齐问题 5.多引用访问

指针的访问过程发生错误,访问到不该访问的内容

后续的文章, 我将对上面列举的常见问题进行一一分析,看看有哪些好方法可以解决问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档