p 与p有什么区别怎么区分, p i 与 p i 有什么区别 怎么区分

2021-03-12 11:27:13 字数 3913 阅读 8050

1楼:匿名用户

(*p)[i] 是先取p的内容作为数组的起始地址,然后再去第i个元素。

*p[i]是先取以p为起始地址的第i个元素,该元素为指针,然后取该指针的内容。

2楼:匿名用户

(*p)[i]: p是指向一个数组的头部地址的指针,(*p)[i]是指这个数组的第i个元素

*p[i]: 这个是p[i]本身是一个指针,*p[i]是取p[i]这个指针所指向的地址中的内容

3楼:zh風魂

(*p)[i]:是定义一个指向含有i个元素的数组的指针,不过要注意,这里“i”应内

该是一个常容

量,比如

int (*p)[6];

int a[3][6];

p=a;

*p[i]:定义元素类型是指针的数组,同样的“i”应该是整型的。

4楼:匿名用户

根据c中运算符的复优先级可制

以判断是定义时,还是

利用时定义时

(*p)[i]这个是定义一个数组,而数组的元素师指针*p[i]这个是定义一个二维数组

利用时(*p)[i]这个我搞不懂,呵呵

*p[i]这个相当于三位数组吧,我也搞不大懂,呵呵

c语言中*p[i] 和(*p)[i]有什么区别,指针似乎都是数组

5楼:匿名用户

一个是定义了一个数组,数组的元素是指针,

一个是定义了一个指针,指针变量指向数组

6楼:匿名用户

前者是指针数组,后者是数组指针

7楼:天秤座的龙骑士

nonono后面的一个是指向数组的指针,前面的是指针数组

8楼:衡琨瑶拜田

指针p的值实际上是一个整数.p++指针偏移一个单位(一个单位是说,如果p指向某个数据类型,p++之后指针就要偏移一个sizeof(这个数据类型)).p+i是偏移i个单位.

指向的内存空间当然改变了.

(*p)[i]与*p[i]有什么区别

9楼:匿名用户

前者是 定义一个指向含有i个元素的数组的指针不过要注意 这里i应该是一个常量 比如

int (*p)[6];

int a[3][6];

p=a;

后者很简单 定义元素类型是指针的数组 同样的i应该是整型的

c语言中,指针*p[i]与p[i]有什么却别?分别代表什么意思?

10楼:匿名用户

若果我还没记错的话:

你的问题:你这里问的是指针

p[i]:数组p的[i]这个地方放的值

*p[i]:数组p的[i]这个地方放的值(这当做一个地址)的值,即p[i]这个地方放了一个地址(相当于另外一个p[i]),然后用*读取他所代表的值。----即我所说的:

数组p的[i]这个地方放的值(当做一个地址)的值

11楼:某李某

*p[i]指的是里面的值。

p[i]子的是地址,也就是里面的值所在的地址。

c语言问题。 *p+i与*(p+i)有什么区别啊?

12楼:匿名用户

写个c程序解释吧。

#include

intmain()

,*p=a;

printf("%d%d\n",*p+1,*(p+3));

return0;

}输出为 10 6;

为什么呢?因为 *p = a 把 a 数组的首地址的值放在 p 处,所以p = a,*p =a[0]= 9 => *p + 1 = 9 + 1 = 10.

p + 3 就是a数组的首地址往后移动3位,即p = a[0], p + 3 = a[3]的值,就是6了。

13楼:匿名用户

其实在定义时你这样理解就很清楚答案了:

char *p;理解成char (*p);*p在一起是一个char。那么,*p+i就是*p的值加上i,而*(p+i)是在先p+i再*操作,*是什么意思呢,在这里是“取值”。所以,*(p+i)是把指针移动i个位置,再返回前地址的值。

14楼:匿名用户

地址加i,地址变了。地址

请问*p[i]和(*p)[i]有什么区别!!求大神指导,详细点哈,我是初学者,指针感觉好难,最好给 5

15楼:id鸡蛋炒韭菜

*p[i] 指的是以数组p中第i个元素的值作为地址指向的内存中的值

(*p)[i] 指的是p作为地址的内存中的值作为数组首地址,第i个元素的值

16楼:匿名用户

地址指针和 地址内的数的指针

*p+i和*(p+i)有什么区别啊?新人求解……

17楼:田真久

p如果是数组的指bai

针,指向的是数du组的第一个元zhi素,也就是说daop就是第一个元内素的地址,因此容以为数组里面*p代表第一个元素的值,*p+i 代表第一个元素的值+i,而*(p+i)代表数组的第i个元素的值。

二维数组里面*p指向这个二维数组的第一个一维数组,*p+i 就是把这个地址偏移i;

*(p+i)是指向二维数组的第i个一维数组。

18楼:匿名用户

一维数组来里也不可能自等价

+是一个双目运算符

所以*p+i是要先算*p的,然后把值加上i而*(p+i),先算的p+i,就是指向了一个新的位置,然后再*,这样就取了新的那个位置的值。

于是,这个问题前提就错了,我只能解答到这里了。

19楼:匿名用户

在一维数组里面抄,貌似*p+i和袭*(p+i)等价。//不正确bai比如du,int a[5],*p; p=&a[1];

*p+i,相当于

zhia[1]+i

*(p+i),相当于a[i]

在二维数组里面,dao貌似*p+i和*(p+i)不等价。//正确

c语言(*(*p+i))是什么意思

20楼:咎婕竹俊雅

简单的知识点:数组的下标是从0开始的。

举例来说,数组有10个元素,数组的下标是0到9;第一个元素的下标为0,第二个元素的下标为1。

21楼:告悠蒯从蓉

*p+=i相当于*p=*p+i

p是一个指针,上述**相当于把p指向的

变量的值加上i,假设p指向int型变量,内参考**容:

inta=5,i=3,*p=&a;

*p+=i;

//此处相当于a+=i,也就是a=a+i,此时a的值变成8

22楼:匿名用户

(1)如

来果定义int *p,p=a[0];则p是指向二维源数组首个元素的指针变量。

p=a[0]等价于p=&a[0][0],p+1等价于a[1]等价于&a[1][0]

(2)如果定义int (*p)[4] ,p=a;则p是指向二维数组第0行的指针变量。

a等价于&a[0],*p等价于a[0];所以**p等价于a[0][0];

(*(*p+i)+j)等价于:数组元素a[i][j]

23楼:匿名用户

p应该是指向二维数组的首地址

(*(*p+i))代表的是第一行第i列的值

24楼:刘丽平

指针所指的数组中的元素

25楼:看灰过来了

看着像是二维数组第0行第i列的元素

建立链表时,p-next s与p s有什么区别??分别

1楼 lzs丶灬 首先把s指向p后面的一个节点,就是把s接到p后面 然后把p指向s这个节点,就是把p指向p后面这个节点 这两句话执行后就是p s 之前的p next 2楼 蛋蛋爱你吧 就是把p指向的结点里的next指针指向s p指向的是最后的一个结点,现在最后的结点是s 所以改变p的指向,让p指向了...

P,i,n)与(P A,i,n)的区别在哪?能用计算公式表示出来么

1楼 飘落的紫羽 p a i n 是年金现值系数, 期限n期 利率为i a p a p i n p p a i n 变形而已 请问 a p i n 与 p a i n 的区别在哪?能用计算公式表示出来么? 2楼 甲梅青都益 p a i n 是年金现值系数, 期限n期 利率为i a p a p i n...

针式绝缘子中P-10T与P-10M有什么区别

1楼 向天致信 p 10t绝缘子使用在铁横担上,底下的螺丝杆是标准的。p 10m绝缘子使用在木制横担上或有的用在杆顶上,底下的螺丝杆是加长的的。 一般由绝缘件 如瓷件 和金属附件 如钢脚 铁帽 法兰等 用胶合剂胶合或机械卡装而成。绝缘子在电力系统中应用很广,一般属于外绝缘,在大气条件下工作。架空输电...