您当前的位置:首页 > 文章摘抄 > 正文

指针的指针有什么用处(指针的指针有什么用途)

指针的指针有什么用?

用处相当地大.怎么样函数传递改变一个指针的值,必须通过指向指针的指针,也就是传说中的二级指针.在数据结构中用处很广.最普遍的比如说链表,通过调用函数改变了链表中的元素,那么整个链表就发生了变化,这种情况下就会用到二级指针,因为链表的起始是通过指向头结点的指针来执行的,所以必须要改变这个指针,怎么样使一个指针改变?在形参传递时,必须传递指针的地址,也就是指向指针的指针.太抽象了,慢慢体会

C语言中“指针”和“指针变量”的区别是什么?

int a; int *p = &a; 指针p是一个变量,里面存的是一个地址,这个地址是a的地址。通过取值运算符*就可以用p访问a。指针变量使用起来灵活,一个指针变量只占四个字节,但是它可以访问类似结构体,链表,数组等多数据集合,而且在访问这些变量的时候是对内存直接访问,执行效率更高,知识需要慢慢积累,用得多了你就知道指针的好处了。

让指针指向下一个很简单: 比如说 int a[10] = {1,2,3}

; int *p = a; //那么现在p指向的就是数组a的第0个元素,*p的值就是1 p++;//执行完这句p就指向了数组a的下一个元素 ,也就是数组a的第一个元素,*p的值就是2.

c语言指针等于指针什么意思?

c语言指针等于指针的意思是在C语言中,指针是指一个变量的地址,通过变量的地址″指向″的位置找到变量的值,这种″指向″变量地址可形象地看作″指针″。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。

指针和指针变量指的是什么?

用例子来看一下。;int a=3;;int *p;;p=&a;;现在来看一下。a=3这个式子先解释一下;等式右边是常量,左边是变量。;同理的;p=&a,左边的是指针变量,右边的是指针;指针的基本概念:为了区别内存的不同位置,内存被分成字节,内存的全部字节顺序地赋予一个称为地址的编号。程序中的变量将在内存中占据一定的内存字节,在这些字节中存储的数据信息称为变量的内容。;一个变量占用连续的若干个内存字节时,最前面的一个字节的地址就作为该变量的地址。指针就是内存地址,是变量的地址,或函数的入口地址。变量的地址在程序执行时,起着非常重要的作用。当计算机在计算含有变量的表达式时,计算机按变量的地址取出其内容,并按变量的地址将计算结果存入到变量占据的内存中。;如代码:  int x=l;  x=x+2;  其中语句“x=x+2;”中的第一个x涉及到变量x占据的内存,第二个 x是引用变量 x的内容。该语句的意义是“取X的内容,完成加上2的计算,并将计算结果存入变量X占据的内存中。”  ;指针变量和它所指向的变量:在C语言中,地址也作为一种值,能被存储、比较、赋值,并称地址数据为指针类型,而称存储地址值的变量为指针变量,简称指针。C程序可用运算符&取变量的地址,如表达式&x的值就是变量X的地址。程序除能按名引用变量外,也可利用变量的地址引用变量。按变量名引用变量称为直接引用,而将变量A的地址存于另一变量B中,借助于变量B引用变量A称为对A的间接引用。  ;定义指针变量的一般形式为:  类型 * 指针变量名;  或  类型 * 指针变量名=初值表达式;  其中,指针变量名是标识符,指针变量名之前的符号“*”,表示该变量是指针类型的。而最前面的“类型”,表示该指针变量能指向变量或函数的类型。初值表达式是一个地址表达式,如表达式中有某变量的地址表达式,则这个变量应是前面已定义的。  ;在C语言中,当定义局部指针变量时,如未给它指定初值,则其值是不确定的。程序在使用它们时,应首先给它们赋值。误用其值不确定的指针变量间接引用其它变量,会引起意想不到的错误。为明确表示指针变量不指向任何变量,在C语言中用0值表示这种情况,记为NULL。;如  ip= NULL;  也称指针值为0的指针变量为空指针。对于静态的指针变量,如在定义时未给它指定初值,系统自动给它指定初值0。  ;指针变量取程序对象的(开始)地址值,不能将一个整型量或任何其它非地址值赋给一个指针变量。另外,指针变量对所指向的对象也有类型限制,不能将一个不能指向的对象的地址赋给指针变量。;如有以下定义:  int i=100,j,*ip,*intpt;  float f,*fp;  以下代码如注释所叙。  iP=&i;/*使ip指向i*/  intpt=ip;/*使intpt指向ip所指变量*/  fp= &f;/*使fp指向正*/  ip=NULL;/*使 ip不再指向任何变量*/;拓展资料:;在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为”指针”。;意思是通过它能找到以它为地址的内存单元。 在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。;作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。;指针是程序设计语言的一个重要概念。指针在C程序中有以下多方面的作用:  ;利用指针能间接引用它所指的对象。  ;利用各种类型的指针形式参数,能使函数增加描述能力。  ;指针与数组结合,使引用数组元素的形式更加多样、访问数组元素的手段更加灵活。  ;指针能用来描述数据和数据之间的关系,以便构造复杂的数据结构。当一个数据A要关联另一个数据B时,在数据A中增加一个指向数据B的指针就可实现数据A关联数据B。结合系统提供的动态分配存储设施,又能构造出各种动态数据结构。

C语言中的二维数组名是一个二重指针吗?

1、二维数组名不是二级指针,它只是一个比较特殊的常量指针。包括三维,四维,乃至N维数组也是如此。只要是数组,那么它就是一个普通的常量指针。2、二级指针p也可以解释为指针的指针,即p内保存的值实际上还是一个指针,计算:*p的值实际上是一个指针值,那么 *(*p)即二级指针指向的最终值。对于二维数组a[2][2],a也是一个地址,并且这个值也等于a[0],也等于a[0[0]的地址,即&a[0][0],由此看来对a取地址的值是一个变量值(不是指针),所以a并不是一个二级指针,最多算一个一级指针。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 真丝是什么材质的面料(植物真丝是什么材质)

下一篇: 下载快手极速版安装,快手极速版下载安装2020最新版(杨浚瑄两度参加值得关注)



推荐阅读