谁能详细清楚地帮我解释一下*p=&a[0]的意思含义啊,谢谢了!
1个回答

首先你这里*p是在初始化呢还是在赋值呢?

如果是 int *p=&a[0];这样的话.那么意思就是说,将数组a的第一个元素的地址交给p这个指针保存

如果是 *p在被赋值,那么前提是你的p必须已经指向了一块内存比如如下:

int i;

int *p=&i;

如果是这样.那么p所指向的就是i的地址.然后

*p=&a[0];意思就是说,将数组a的第一个元素的地址交给P所指向的内存保管

注意:但是..上面的只是理论知识,实际中会有一个问题要注意&a[0];取的是一个地址.我们且不管这个地址是什么.总知他肯定是一个地址.所以保存他的必须是一个指针.那么*p也就是p所指向的内存,必须是一个申请好了的指针类型内存,所以p应该是一个指向指针的指针.那么就是

int j;

int *i=&j;

接着int **p=&i;

然后*p=&a[0];

这样就符合了实际情况.