今天宠物迷的小编给各位宠物饲养爱好者分享指针的指针有什么用的宠物知识,其中也会对指向指针的指针有什么用处(什么叫指向指针的指针)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
用处相当地大.
怎么样函数传递改变一个指针的值,必须通过指向指针的指针,也就是传说中的二级指针.在数据结构中用处很广.最普遍的比如说链表,通过调用函数改变了链表中的元素,那么整个链表就发生了变化,这种情况下就会用到二级指针,因为链表的起始是通过指向头结点的指针来执行的,所以必须要改变这个指针,怎么样使一个指针改变?在形参传递时,必须传递指针的地址,也就是指向指针的指针.太抽象了,慢慢体会
1、指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。 有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。 2、指针变量是指存放地址的变量。因地址的改变而做出指定性质的衡量变法。 扩展资料: 指针变量定义: 1、定义指针变量的一般形式如下: 类型名*指针变量名1,*指针变量名2,... *指针变量名n ; 2、空指针 空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。 3、void指针 (void *)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变量的地址作为指针赋给通用指针。 但是需要注意void*不能指向由const修饰的变量,例如const int test; void * ptv; ptv = &test;第三句是非法的,只有将ptv声明为const void * ptv;,上述第三句ptv = &test才是合法的。 当需要使用通用指针所指的数据参加运算时,需要写出类型强制转换。如通用指针ptv 所指空间的数据是整型数据,p是整型指针,用此式转换:p=(int *)ptv; 参考资料来源:百度百科-指针变量 参考资料来源:百度百科-指针
我给楼主一个最直接的理由:那就是如果你希望在一个函数的参数中改变一个指针的值,你就只能传这个指针的指针给这个函数。
比如有int *p;
而你想在函数f中对其增量,就只好:
void f(int **pp)
{
*pp++;
}
简单地说指针就是指向变量和对象的地址。
指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。
以上还只是指针的初步应用,随着你在C语言学习上的逐步深入,你会发现更多的用途的。
简单地说指针就是指向变量和对象的地址。
指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。
以上还只是指针的初步应用,随着你在C语言学习上的逐步深入,你会发现更多的用途的。
指针非常的好,它把相同的事物归类,然后把事物做出标记,避免给相同的特点做变量。比如说你和你同学,你们两个人都有心脏、肝、肺等**,如果命名心脏1、心脏2这样比较麻烦,这时如果用上指针,指向你说心脏时说的是你的心脏,指向你同学时说的是你同学的心脏,如果人非常的多,你不用指针,那么命名心脏1、2、3、4、5.。。。那是非常的多的不必要的变量。我现在运用PLC和WINCC连接时有的时候就用指针。节省了通讯时间,省略了很多的变量。
C++属于需要手动操作内存的语言,指针就是指向某一内存的地址。这个gfw找本书看一下就OK了,
程序运行的时候代码和数据放在内存中,现在把内存比作一个宾馆,宾馆有很多房间组成,代码和数据都存放在房间中,如果我们想找某个数据或代码,只要知道它所在的房间号码即可,这个号码就是所谓的指针。
内存是有很多存储单元(每个存储单元长度为一个字节)构成,每个存储单元都有一个地址,代码和数据都存在这些存储单元中,如果要找到内存中的数据或代码,只要知道它所在的存储单元地址即可,为了能处理这些地址值,这才引进了指针这个数据类型,也就是说指针专门用来处理内存地址的。就像是为了能进行整数运算引进了int 整型类型、为了处理字符引进了char字符类型一样,这样说能明白吗?
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“指向指针的指针有什么用处”
下一篇
透明件应力怎么看?