本文介绍了无法理解涉及指针C程序中的一小部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
INT X = 5;
INT Y = 6;
为int * p =&放大器; X;
* P = X + Y;
P =&安培; Y;
* P = X + Y;
的printf(%D,%D,X,Y);
我能理解第3行。我知道,为int * p =&放大器; X;
表示指针 P
是在内存地址指向 X
。但我无法理解接下来的4行code的。此code的输出是:
11,17
但我无法理解怎么样?有人可以解释给我。
解决方案
When you are assigning like this,
int *p=&x;// It will point to the address of x variable.
Any change done in the *p
, It will affect the memory. So while you are accessing that with the x
it have the value.
*p=x+y; // It's equivalent x=x+y;
Then y
also like this.
Now x
have the value 11
. p=&y;
*p=x+y;// It's equivalent to y=x+y;
so now x have the value 11
and y value 5
. So the result is 17
.
这篇关于无法理解涉及指针C程序中的一小部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!