指针的作用是什么啊?

发布网友 发布时间: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