如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 18:18:46

如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细
如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细

如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细
就是说,p[i]和*(p+i)意思一样,表示同一“变量”.或许你已经听说过,数组名本身就是指针.如:int a[5]; 那么,a就是一个指针,它指向数组的第一个元素.反过来,每一个指针都可以当做一个数组来用.如:char *p="0123"; 那么,编译器会分配5字节存储字符串“0123”,而p则指向第一个字符'0'.所以,*p=='0',*(p+3)=='3'(如果楼主指针运算学得好的话,应该不难理解).其实,你完全可以不用*运算符,由“等价”可知:p[0]=='0',p[3]=='3

如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细 如果p是个指针变量,为什么P[i]回完全等价与*(p+i) P是指针变量,那么P[i]什么意思?为什么P[i]等价于*(p+i) 求高手详解!谢谢 P是指针变量,p=a,其中a等价于什么? p是指向数字元素a【i】的指针变量,与*p+*p--等价的描述是() 关于指针变量请问如果定义了指针变量P,则这时*&P和P是否等价(即*&P=P).二者在满足什么条件下等价? C语言中double *p,a;p=&a;和double a,*p=&a;是不是等价的?为什么呀〜请大侠们解释一下〜是不是指针变量一定要加*?如果指针变量不加*是指什么? 假设变量已经被正确定义,指针p指向x,则*&x等价于(有可能多选) A.p B.&*x C.*p D.**p 两道关于null的c语言题目:1 设有定义:int x=0,*p;立刻执行以下语句,正确的是:a.p=x; b.*p=x;c.p=null; d.*p=null2设变量p是指针变量,语句p=null;是给指针变量赋null值,它等价于a.p= ; b.p=‘0’; “如果p是指针变量,则&p是不合法的表达式”这句话为什么错? p是指针,p+i表示什么 关于指针变量的引用的一点小问题 看书时看到的一段原文 把本人看糊涂了 内容如下若有定义int a,*p=&a;//说明指针P指向变量a,a是p指向的目标,可以用*p来引用a,*p与a是等价的 ,*p可当普通变量使 如果p等价于q,是不是p,q互为充要条件? p双条件q 等价于 p条件q 且 q条件p 如果不等价 等价于什么 为什么 若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i=&j; D.i=* *p;有一个问题没有搞清楚:根据int i 得 i 是一个数,而&i则表示一个地址,而*p表示一个指针变量,表示一个数了.上面 C语言指针变量如果有定义:int m,n=5;*p=&m;与m=n等价的语句是:A m=*pB *p=*&nC m=&nD m=**p应该选择哪一个呢?为什么…… C语言中关于指针的理解我不理解这一句话 :如果p是一个已经定义好的指针变量,那么*p表示以p的地址为内容的变量.什么是以p的地址为内容的变量?*p不就是指针所指向的内容吗? 具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是 ( )14.具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是 ( ) .A.P = Y B.*P = Y[i] C.P + &