C指针问题:int a=12,*p=&a如何解释?跟p=&a有什么区别?我印象中应该p=&a是正确的,但是这里书上写成*p=&a,是什么意思?求详细解释另外如上的话*&a==a和&*p==p是如何各自成立的?*&a是指向a地址的指针,a
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 11:02:20
![C指针问题:int a=12,*p=&a如何解释?跟p=&a有什么区别?我印象中应该p=&a是正确的,但是这里书上写成*p=&a,是什么意思?求详细解释另外如上的话*&a==a和&*p==p是如何各自成立的?*&a是指向a地址的指针,a](/uploads/image/z/11525018-50-8.jpg?t=C%E6%8C%87%E9%92%88%E9%97%AE%E9%A2%98%EF%BC%9Aint+a%3D12%2C%2Ap%3D%26a%E5%A6%82%E4%BD%95%E8%A7%A3%E9%87%8A%3F%E8%B7%9Fp%3D%26a%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%3F%E6%88%91%E5%8D%B0%E8%B1%A1%E4%B8%AD%E5%BA%94%E8%AF%A5p%3D%26a%E6%98%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%2C%E4%BD%86%E6%98%AF%E8%BF%99%E9%87%8C%E4%B9%A6%E4%B8%8A%E5%86%99%E6%88%90%2Ap%3D%26a%2C%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3F%E6%B1%82%E8%AF%A6%E7%BB%86%E8%A7%A3%E9%87%8A%E5%8F%A6%E5%A4%96%E5%A6%82%E4%B8%8A%E7%9A%84%E8%AF%9D%2A%26a%3D%3Da%E5%92%8C%26%2Ap%3D%3Dp%E6%98%AF%E5%A6%82%E4%BD%95%E5%90%84%E8%87%AA%E6%88%90%E7%AB%8B%E7%9A%84%3F%2A%26a%E6%98%AF%E6%8C%87%E5%90%91a%E5%9C%B0%E5%9D%80%E7%9A%84%E6%8C%87%E9%92%88%2Ca)
xSr@Px4I˫Ti<$E
``0dvtjȡ`JlN_e5`DdR## I
>KƇXޑmyThϠC0,+j?¼!K) 9ff_ʒ͚
'@ʛj0GO##$#JT `)AvF70ۄ*|~lJĴT0my!>U,⑵K=!#L(\"pjrO?V`~ˋax8bB^Q>k"F$02oi!HI@Loa2nPXwJQ濻8*]cH((V!s[zJ_v8m:JkΜƨxoBw@u?Wzfj0=76e9
:It[uOd[I]>7w3q}T: "V
C指针问题:int a=12,*p=&a如何解释?跟p=&a有什么区别?我印象中应该p=&a是正确的,但是这里书上写成*p=&a,是什么意思?求详细解释另外如上的话*&a==a和&*p==p是如何各自成立的?*&a是指向a地址的指针,a
C指针问题:int a=12,*p=&a如何解释?跟p=&a有什么区别?
我印象中应该p=&a是正确的,但是这里书上写成*p=&a,是什么意思?求详细解释
另外如上的话*&a==a和&*p==p是如何各自成立的?*&a是指向a地址的指针,a是12,两者一个地址一个值,怎么就等同了?&*p是p指针的地址,p是a的地址,两个地址怎么能等同呢?这个最棘手的问题,求教!
C指针问题:int a=12,*p=&a如何解释?跟p=&a有什么区别?我印象中应该p=&a是正确的,但是这里书上写成*p=&a,是什么意思?求详细解释另外如上的话*&a==a和&*p==p是如何各自成立的?*&a是指向a地址的指针,a
定义的时:int a=12,int *p=&a; (编译器首先在内存里开辟了一个空间,并把a的地址放进去)
这在c语言中叫做“初始化”——在定义的时候给予一个初始的值;
如果没有进行初始化,定义成,int a,*p; 则编译器会给一个值,一般为0或空值.
对于,int *p; p=&a; (编译器首先在内存里给P分配一个空间,然后给它赋值,一般赋0x00000000,然后再把a的地址取出,放到p中)比直接初始化,多了一个赋值.用起来效果一样.