都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗

投稿- 2023-08-21 11:39:39

C语言 指针 pointer 难点

大家好,都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗相信很多的网友都不是很明白,包括程序员为什么不建议用指针也是一样,不过没有关系,接下来就来为大家分享关于都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗和程序员为什么不建议用指针的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

  1. 都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗
  2. 指针在c++中用的很多吗很重要
  3. 为什么说指针是C语言的精髓
  4. 在C++中函数指针有什么作用呢,为什么不直接调用函数而要使用函数指针

都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗

1.分析问题

整个问题,从提问者的角度,等价于两个子问题:

子问题1:为什么C语言要引入指针?

子问题2:指针怎么才能用好?

2.子问题1的分析

现在来分析子问题1。要回到这个问题,要回顾计算机程序的执行原理:

现代通用计算机基本上都遵循冯·诺依曼结构。

冯·诺依曼结构的精髓在于:将计算机指令与数据一视同仁,都放入内存中处理。所以计算机程序执行的过程,实际上就是不断从内存中取出指令,再从内存中取出数据,指令作用于数据得到结果,结果再放回内存的过程。

从这个过程可以看出,程序的整个运行都是围绕内存进行的。既然指令和数据都放在内存中,那么执行哪条指令、取哪个数据、结果放到哪里,都需要精确定位内存的具体位置。

C语言作为开发Unix操作系统而创造出来的编程语言,天然需要具备操作系统底层的能力;而从上述程序运行的视角来看,所谓的系统底层能力,核心在于对内存位置的定位能力。C语言用于对内存进行定位的“武器”就是指针。

一言以蔽之:C语言之所以引入指针,是由C语言诞生的历史背景和所要承载的历史使命决定的——开发操作系统,要用强大的操控系统底层的能力,系统底层的核心是对内存的定位操作。

3.子问题2的分析

很多同学被指针搞懵的原因在于:大陆的C语言入门的教材基本上都是谭浩强的《C语言程序设计》,这本教材讲述指针过于繁琐,没有抓住指针的本质。

指针的本质就是内存地址。

记住这一点之后,你就可以游刃有余了。以下笔者对初学者最容易晕菜的几个概念进行最凝练的解释。

3.1多级指针

一级指针就是一次性指向目标内存地址、二级指针就是分两段指向最终目标地址(第一级相当于先指向一个“中间驿站”,第二级再从“中间驿站”指向最终目标地址)……依次类推,这样哪怕给你一个N级指针,你也不会懵逼。

3.2指针数组与数组指针

说白了,考的并不是计算机知识,考的是语文知识:)

两个术语都是偏正短语:前者的被修饰词(中心词)是数组,后者的被修饰词(中心词)是指针;前者这个数组里的每个元素都是指针,后者这个指针指向的是一个数组(一片连续的内存区)。

指针在c++中用的很多吗很重要

简单地说指针就是指向变量和对象的地址。指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。以上还只是指针的初步应用,随着你在C语言学习上的逐步深入,你会发现更多的用途的。

为什么说指针是C语言的精髓

指针也是变量的一种称为指针变量,不过它存的是地址。就类似于酒店里的门房号,每个门房号就一个指针(地址),不同类型指针指向存储不同类型的地址就想酒店里不同的房间如标间,三人间,情侣间,总统套间等。

所以通过指针我们可以很容易的找到数据的存储位置,并对其进行操作。C语言指针的使用是非常的灵活的。在实际操作中使用指针可以提高程序的运行效率,使程序更加的结构更加的紧凑,合理,并且数组等占用的内存小。虽然使用指针有很多优点,但在使用中一定要谨慎小心,防止指针乱直,申请内存后使用完要及时的释放。避免程序发生崩溃。

在C++中函数指针有什么作用呢,为什么不直接调用函数而要使用函数指针

唉!不碰C++已经好几年了,这个问题唤起我许多感慨!看回答问题的都是程序猿高手们。

把我还记得的说一下,如果说的不对还请原谅,毕竟好几年没看书了。

指针是C语言最难学的概念,指针成为别有用心的人反对C语言的一个靶子。

其实,指针是一种特殊变量,它指向保存其他变量的地址,在调用函数时作为一个索引,用函数名作为函数本身。

指针占用的内存很少,好比C语言的一个轻骑兵。

在继承与遗传的自定义类时,使用虚函数的指针可以根据上下文自动判断并改变指针指向的父类或子类对象。

指针在程序调用完成后要及时撤销,避免内存泄漏。

好了,文章到这里就结束啦,如果本次分享的都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗和程序员为什么不建议用指针问题对您有所帮助,还望关注下本站哦!

C语言 指针 pointer 难点
  • 声明:本文内容来自互联网不代表本站观点,转载请注明出处:bk.0755org.com/12/111711.html
上一篇:郑州拉布拉多属于禁养犬吗(郑州哪里有卖拉布拉多犬的直营店)
下一篇:都说艾灸好却不知道好在哪,经常艾灸会有什么副作用吗(艾灸的不好处)
相关文章
返回顶部小火箭