跪了 数组,指针,下标????????!

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:43:19
数组首地址付值给一个指针后
为什么这个指针不能用下标来访问其数组元素
如:int a[20] , *p;
p=a;
printf(……,p[0]);为什么不能这样使????

如果有达人高手 需要您的详细说明 越详细越好 越复杂越好;
在此先谢谢了
虽然积分不多 我愿意全部奉上
对不起 没有实例
原来我是用指针在住函数和子函数间传递变量或结构
结果被老师看到后 极力反对和批评我的作法 说这是高手才用的 我现在也不知道怎么回事了
难道下标 用在指针上 和 用在数组上 有什么区别吗?

请说说下标的实现原理!
或者说说用指针下标需要注意什么事项吗?
或者有没有关于这个问题的资料

#include "stdio.h"
main(int argc, char *argv[])
{
int a[20],*p;
a[0]=100;
p=a;
printf("%d",p[0]);
return 0;
}
这上面代码跑跑吧,你就知道是可以这样用的,这个应该没什么好说的。

得到首地址后,只要往后偏移sizeof(int),就是下一个元素,以此类推。
不知道对不对,反正我一直是这样做的...

可以这样使用,肯定是你程序其他地方有问题,把完整的贴出来.

这个代码没错的,把上下文完整的贴一下帮你分析一下