首页

文章

指针的作用是什么啊?

发布网友 发布时间: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、指针直接与数据等的储存地址有关,是比较重要的。比如,值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使效率提高,特别在频繁赋值等情况下。
视频相册制作软件如何做视频相册? 用word2007自动生成目录后,目录上始终有个“ 更新目录”的框,怎么去... Word2007目录怎么删除正文 手机不能横屏了是怎么回事? 庞贝柱的结构样貌是怎样的? 埃及庞贝柱景点描述 庞贝柱是怎样的历史? 埃及庞贝柱历史追溯 庞贝柱是个什么样的景点? 庞贝柱是为为了答谢谁而建的? 属蛇穿什么转运最旺运 属蛇什么颜色转运最旺 属蛇的人什么颜色转运最旺 英国查理一世时期君主专政的特征 增值税专用发票开错作废证明怎么写 女主为了救男主被拔掉指甲,被活埋,但男主却认错了人,这本小说叫... 什么地方能读到法拉奇的小说男子汉 高级职称有什么待遇 职称高级相当于什么? HUAWEI 华为 AM185 入耳式有线降噪耳机-适用对象 华为FreeBuds Pro有线充版-入耳式真无线动圈主动降噪蓝牙耳机(陶瓷白... HUAWEI 华为 FreeLace Pro 入耳式颈挂式动圈主动降噪蓝牙耳机 曜石黑... HUAWEI 华为 FreeBuds Pro 入耳式真无线动圈主动降噪蓝牙耳机 墨韵白推... 华为Freebuds 3 无线充版半入耳式真无线蓝牙耳机(碳晶黑)-详细介绍... HUAWEI 华为 FreeBuds 悦享版 入耳式无线蓝牙耳机-详细介绍 如何评价华为新旗舰tws耳机freebudspro? HUAWEI 华为 FreeBuds Pro 无线蓝牙耳机推荐 字符串"\\\"ABC\"\\"所占内存字节的长度 怎样挑选千元内的羊绒大衣? 现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 淘宝客必备的九大工具有哪些? 电脑里硬盘如何共享怎么实现多台电脑共用一块硬盘 两台电脑一个硬盘两台电脑是否可以同时用一个硬盘 共享电脑硬盘怎样设置局域网电脑硬盘共享 现在下载歌曲好还是不下好 故障码P033D的含义解析 切菜机多功能型切菜机 scanbox三维扫描仪 苹果13没有删除的备忘录怎么恢复? iphone备忘录永久删除怎么恢复?iphone备忘录恢复最近删除文件方法介绍... vivo手机为啥将软件添加到桌面后桌面上依然木有 vivoX20在应用商店里下载完成为什么桌面上没有 vivox23手机上下载软件安装了不在桌面上怎么? vivo x9下载软件怎么不在桌面上? vivox9下载软件怎么不在桌面上 为什么我改不了? 苹果ipad为什么改不了? 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 为什么我的是风险评估? 为什么我改不了?完成账号风险评估,显示未满足 我是软件专业出来的,听他们说已经属于中级工程师,是否是这样。 数字证书已经过期怎么更换? CA证书过期了怎么办啊? 南阳的特产是什么 南阳这有什么土特产?好吃的,又容易带? 南阳拿什么土特产送人 河南南阳特产有哪些土特产 营养师是怎么考的?需要学习什么知识呢? 我想考网络工程师需要学习哪些知识??? 总结一下C的指针用途 西宁特产 修改,怎样才能完成账号风险评估? 为什么我改不了?完成账号风险评估,显示未满足 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我的显示为风险评估? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 这个风险评估,怎么才可以改啊? 修改时,显示微信账号存在安全风险,最近两周有冻结是怎么回事? 修改时提示账号存在安全风险该怎么解决?密码重新修改过了,实名认证也认证了 我的不能修改是什么原因? 修改微信风险评估未满三天是什么意思? 为什么我的显示为风险评估? 为什么我改不了?完成账号风险评估,显示未满足 法考证书申领流程是什么啊? 已经用了几年的微信,修改,风险评估显示未满三天? 为什么我修改上面一直显示的是风险评估一周之后已经过了一周了呀? 这个风险评估,怎么才可以改啊? 明明我的这个手机登录微信一年多了,还是不能修改?风险评估提示未满3天 我的不能修改是什么原因?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com