浅探C指针(一)--初识指针

C指针学习

前言

指针是C/C++的精华,未能很好地掌握指针,那C/C++也基本等于没学。指针作为C语言学习中最大的障碍,可什么是指针?指针的基本概念很简单,就是一个存放内存地址的变量。对于指针、数组和内存管理,我在学习的时候,发现很多书上都讲的比较简单,可当我们开始应用指针并试图读懂那些代码时,就不知道该如何了。为掌握指针的高级应用,我开始了从简单的知识入手,扎实基础的学习,在C程序如何管理内存和组织方式的基础上理解指针。

这里整理了我学习、使用指针时遇到的些许问题。

为什么要精通指针呢?可能有人说,写程序的时候能不用指针也能实现同样的功能。我不能说不对,可当与使用指针的同一程序相比,两个相差几千里。当你了解了指针你就会明白我为何会这样说了。

  • 用指针可以写出快速高效的代码,因为指针更接近硬件,编译器更容易执行。
  • 为解决很多类问题提供方便的途径。像很多数据结构的实现,指针相对于其他方式(如数组)更加直观,也更灵活。
  • 支持动态内存分配。C的动态内存分配实际上就是通过使用指针实现的。
  • 使表达式变得更加紧凑和简洁。
  • 提供用指针传递数据结构的能力而不会带来庞大的开销。
  • 保护作为参数传递给函数的数据。

指针是创建和加强应用的强大工具,但使用过程中要注意,以免发生以下及其他问题。

  • 访问数组和其他数据结构时越界;
  • 自动变量消失后被引用;
  • 堆上分配的内存释放后被引用;
  • 内存分配之间解引指针。

可阅读

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值