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绝缘子使用在木制横担上或有的用在杆顶上,底下的螺丝杆是加长的的。 一般由绝缘件 如瓷件 和金属附件 如钢脚 铁帽 法兰等 用胶合剂胶合或机械卡装而成。绝缘子在电力系统中应用很广,一般属于外绝缘,在大气条件下工作。架空输电...