作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/18 16:39:56
如果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