c语言指针问题.经int *p后,使用指针有p与*p两种方式,有何不同?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/25 23:08:06
c语言指针问题.经int *p后,使用指针有p与*p两种方式,有何不同?
int i=1,j=2,*p,*q; p=&i;q=&j; 在经过以上操作后,执行*p=*q与p=q二者的区别?为什么第一种是将j的值赋给i,而第二种是p,q同指向j,*p=j.
int i=1,j=2,*p,*q; p=&i;q=&j; 在经过以上操作后,执行*p=*q与p=q二者的区别?为什么第一种是将j的值赋给i,而第二种是p,q同指向j,*p=j.
![c语言指针问题.经int *p后,使用指针有p与*p两种方式,有何不同?](/uploads/image/z/5678916-60-6.jpg?t=c%E8%AF%AD%E8%A8%80%E6%8C%87%E9%92%88%E9%97%AE%E9%A2%98.%E7%BB%8Fint+%2Ap%E5%90%8E%2C%E4%BD%BF%E7%94%A8%E6%8C%87%E9%92%88%E6%9C%89p%E4%B8%8E%2Ap%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F%2C%E6%9C%89%E4%BD%95%E4%B8%8D%E5%90%8C%3F)
指针变量前加*号是解引用运算,通俗的将就是取得该指针所指向内存单元的值.其既可以是左值,也可以是右值.
p的值就是i的地址,*p就是这个地址的值,也就是i的值,同理*q是j的值.
所以执行*p=*q后就是将j的值赋值给i.
而执行p=q后,q的值就和q的值相等(即j的地址).*p自然就等于j.
不知道懂了没?
p的值就是i的地址,*p就是这个地址的值,也就是i的值,同理*q是j的值.
所以执行*p=*q后就是将j的值赋值给i.
而执行p=q后,q的值就和q的值相等(即j的地址).*p自然就等于j.
不知道懂了没?
c语言指针问题.经int *p后,使用指针有p与*p两种方式,有何不同?
c语言指针p+1与p++有什么不同
C语言中指针*p与*p-'0'和*p+'0'有什么区别
C语言指针,int a=1; int *p; 其中p=&a和*p=&a有什么区别?p的值是否相同?
C语言中,指针*p[i]与p[i]有什么却别?
C语言指针**p是什么意思
C语言中指针p与*p的区别?
来高手!求解! C语言中,指针 定义int a,*p=&a;中的*p=&a 和表达式中的 p=&a; 有什么区别? 是不
c语言定义指针问题 *p我能明白.
指针p++和*p++ 有何区别
C语言 指针*(p+i)是什么意思
C语言中,指针p=p-->next表示指针的后移,那么如果调过来表示,p-->next=p,表示指针的前移?