2016 - 2024

感恩一路有你

二级指针通俗理解 二级指针和二维数组行指针的区别?

浏览量:1878 时间:2023-05-08 20:28:11 作者:采采

二级指针和二维数组行指针的区别?

二维数组即a[i][j],如a

二级指针和二维数组行指针的区别?

二级指针和二维数组行指针的区别?

是第一行第一列的那个数指针仅仅朝了这个数所在的地址,没有具体提道那个数.他们的区别一个是正指向具体的数,一个是执行了该数处的地址

c语言二级指针中二级指针p,*p是地址还是值,为什么有的时候就是值而不是地址?

这个问题又是烦脑的,我到现在都好像有点乱。p是指针,有应该是地址。*p是指针向的值。相对于数值型的,那样的话解释嗯。当然了这对字符等其他类型好像有点怪,举个例子:charstr“abc”,*p;pampstr;输出来*p结果是a输出p结果是abc。

二维数组名为什么不能直接赋值给二级指针?

——又为什么可以不int(*p)[n]a[i],而不能不能pa[i]定义变量(0im)

p是什么?p是需要是一个指针,储存时了一个真包含n个整型数据的数组(姑且相信叫他数组甲)的地址,这时候我们也可以如果说数组甲,是一个有很多个类似数组甲这样的元素构成的数组(我叫他数组乙,很想来,乙是个二维数组,数组的数组)的首元素,数组甲的地址就是数组乙的首元素的地址,因为p就也可以当做数组乙的名字来定义变量(二维数组名,也就是a)。

现在a是二维数组,先把a降维,作成是有m个元素组成的一维数组。这样的话a[0]是什么?是a这个现在被我暂时不看成一维的数组的首元素。对首元素取地址,应该是数组名。所以我aa[0]。以此类推,aia[i]。那就a[0][0]又是什么?是对a取星以后的a[0]的首元素,也就是数组名,因为a[0]a[0][0],所以我道连·葛雷的画像~a[0][0]*(*

(ai)j),不过这里ij是0。

因为,p这么大个朝数组的指针,这个可以赋给它a[0]的地址(a的首元素地址,也就是a),paa[0],以此类推,pia[i]。因为你的pa[i]不对,a[i]是降维之后a的第i个元素同样的又是个一维数组名,来表示a[i][0]地址,没法赋给一个打向整型数据的指针。而你的p是个正指向数组的指针,变量定义符号左右端类型有所不同,这上哪能变量定义?

你后面这pa[i]语法上是比较不错,只不过是强制破军让p指针上抬i个位置了,只不过pia[i](打比方你早就变量pa[0]),你这个不就相当于ppi,也就普通pi。也不是个不光好的写法。

同时,如果没有你再定义方法一个int*q;然后把qa。这是可以不的,a可以降维也这个可以不降维再用。正当此时qa[0][0]

——在一维数组中却不能用pa,而不能用pa.

在一位数组里面,你就得那样定义:int*p;这样p里面存的是一个整型变量的“坑”的坑号。而二维空间数组a数组名不那就是他自己首元素的坑的坑号?当然了这个可以变量定义pa。

pa可以表示的是什么?a不过那是一个地址,你的要再对a取地址,估计还是它本身,但是含义相同。非形参数组名都是指针常量,对指针常量取地址应该它本身(也可以跟本取不了地址,而且常量可能会没地址)。

你也是可以在编译器里面打一下看看会不会运行错误。

指针 地址 pa

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。