问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

指针的作用是什么啊?

发布网友 发布时间:2022-03-23 03:36

我来回答

8个回答

热心网友 时间:2022-03-23 05:05

第一,指针的使用使得不同区域的代码可以轻易的共享内存数据。当然小伙伴们也可以通过数据的复制达到相同的效果,但是这样往往效率不太好。因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能。

但使用指针就可以很好的避免这个问题,因为任何类型的指针占用的字节数都是一样的(根据平台不同,有4字节或者8字节或者其他可能)。

第二,指针使得一些复杂的链接性的数据结构的构建成为可能,比如链表,链式二叉树等等。

第三,有些操作必须使用指针。如操作申请的堆内存。还有:C语言中的一切函数调用中,值传递都是“按值传递”的。如果要在函数中修改被传递过来的对象,就必须通过这个对象的指针来完成。

扩展资料

指针的表现形式是地址,核心是指向关系指针运算符“*”的作用是按照指向关系访问所指向的对象.如果存在A指向B的指向关系,则A是B的地址,“*A”表示通过这个指向关系间接访问B。

如果B的值也是一个指针,它指向C,则B是C的地址,“*B”表示间接访问C如果C是整型、实型或者结构体等类型的变量或者是存放这些类型的数据的数组元素,则B(即C的地址)是普通的指针,称为一级指针,用于存放一级指针的变量称为一级指针变量。

参考资料来源:百度百科-指针

热心网友 时间:2022-03-23 06:23

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

热心网友 时间:2022-03-23 07:58

你好! 指针就是指向一个特定内存地址的一个变量。 C语言指针可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。 指针的应用往往与数组联系在一起,是最频繁的,也是最基础的。在我们定义数组和函数时,系统都会为其自动分配一个指向其首地址的指针。对于一个数组,其名称就是一个指针变量。

热心网友 时间:2022-03-23 09:49

指针指向地址,指针的特性就是在地址不变的情况下,可以很方便的修改所指向的内容

最重要的应用有两个,一是函数参数,二是函数指针
函数参数:函数返回值只有一个,如果想回传多个参数,则必须使用指针
函数指针:典型应用就是回调函数(callback)

热心网友 时间:2022-03-23 11:57

指针的好处,需要和数组比较起来说。具体如下:

1.指针可以随意申请不连续的数据存储空间,而数组是连续的,如果数组空间没有全部占用,那么会造成浪费,比如你申请了a[10],缺只有5个数据输入,那么会浪费掉5个数组空间。如果是指针就不会浪费,用多少申请多少。

2.指针的计算更快速。比如你需要计算一个16*16的矩阵消元,那么数据会非常的多和大,你得申请足够多的数组空间,弄不好还会造成溢出,为什么?因为采用数组计算时,是数据的交换,而不是内存地址的交换。如果采用指针的话,不会浪费空间,不会溢出,因为指针计算时是交换指向数据存储空间的地址,而不是交换数据。数据的大小比地址大得多。

所以采用指针好处多多,同样指针也很危险,如果用不好,还不如用数组。得慢慢体会。谢谢。

热心网友 时间:2022-03-23 14:22

指针是一种存放另一个变量的地址的变量。
比如申请一个整形变量 int a = 128; 再申请一个指针让这个指针指向变量a.
int *p;
p = &a; //取a在内存中的地址,把a的地址赋给p。这样p就指向了变量a的地址。

热心网友 时间:2022-03-23 17:03

我的脑袋表示学废了

热心网友 时间:2022-03-23 20:01

指针的作用:
1、指针就是指向一个特定内存地址的一个变量。C语言指针可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。指针的应用往往与数组联系在一起,是最频繁的,也是最基础的。在定义数组和函数时,系统都会为其自动分配一个指向其首地址的指针。对于一个数组,其名称就是一个指针变量。
2、指针只是一个变量,它存储一个内存地址。如果传入一个地址,比传入一个struct效率要高,因为少了一个拷贝过程。
3、指针能够有效的表示数据结构,能动态分配内存,能较方便的使用字符串,有效的使用数组。
4、指针直接与数据等的储存地址有关,是比较重要的。比如,值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使效率提高,特别在频繁赋值等情况下。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...你是什么歌(那个。。好像是这个歌词,记不太清了,是个男的唱的... ...我歌词记不太清了 是什么歌曲吖,我脑海里好像是个男生唱得 有一首民谣歌曲,是个男歌手,歌词记不太清,整首歌都是一?一?一?? 怎么查询光大信用卡消费的详细账单?有几种查询方法? 光大银行网上银行怎么打印对账单 网上银行对账方法 Healthy care维骨力是不是真的有大家说的那么好? Healthy Care 胶原蛋白美白精华液(6*10ml)-详细介绍 Healthy Care 胶原蛋白美白精华液(6*10ml)-适用对象 Healthy Care 胶原蛋白美白精华液 面部护理推荐 为什么说公共关系既是一门科学又是一种艺术 vivo手机为啥将软件添加到桌面后桌面上依然木有 vivoX20在应用商店里下载完成为什么桌面上没有 vivox23手机上下载软件安装了不在桌面上怎么? vivo x9下载软件怎么不在桌面上? vivox9下载软件怎么不在桌面上 为什么我改不了? 苹果ipad为什么改不了? 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 为什么我的是风险评估? 为什么我改不了?完成账号风险评估,显示未满足 我是软件专业出来的,听他们说已经属于中级工程师,是否是这样。 数字证书已经过期怎么更换? CA证书过期了怎么办啊? 南阳的特产是什么 南阳这有什么土特产?好吃的,又容易带? 南阳拿什么土特产送人 河南南阳特产有哪些土特产 营养师是怎么考的?需要学习什么知识呢? 我想考网络工程师需要学习哪些知识??? 总结一下C的指针用途 西宁特产 修改,怎样才能完成账号风险评估? 为什么我改不了?完成账号风险评估,显示未满足 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我的显示为风险评估? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 这个风险评估,怎么才可以改啊? 修改时,显示微信账号存在安全风险,最近两周有冻结是怎么回事? 修改时提示账号存在安全风险该怎么解决?密码重新修改过了,实名认证也认证了 我的不能修改是什么原因? 修改微信风险评估未满三天是什么意思? 为什么我的显示为风险评估? 为什么我改不了?完成账号风险评估,显示未满足 法考证书申领流程是什么啊? 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 这个风险评估,怎么才可以改啊? 明明我的这个手机登录微信一年多了,还是不能修改?风险评估提示未满3天 我的不能修改是什么原因?