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

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/16 00:57:05
谁能详细清楚地帮我解释一下*p=&a[0]的意思含义啊,谢谢了!
xTRP~q0kE w;p}$%t!ؠĪ%^{oޢ'1Cuv&ss&yRށ8\ w0waN} .~x*b ]ञ?}[)p͠Xj3CXυ\6مD{(>a]|e6Vi3.k)a.Dw}Ȃ",} !c%dt}pxƚA^gH$mr#e%#ԎXctZx'Zf@ZNAۉ"S5|jb*# RjF_`Ӥ"0 wJGdE~=&Qc ԅgp,8Q> ذ&)S'@IF넑JY. PiGH/%Ϣ@dHG( ^aTr Ǖ'9g]/νp`pޑ0j$$;eG&%&<݌KRN>ٱ-5.n\to"") CaJ> 7"8

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

谁能详细清楚地帮我解释一下*p=&a[0]的意思含义啊,谢谢了!
首先你这里*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];
这样就符合了实际情况.