C语言,指针,地址值的传递

2025-05-14 08:52:53
推荐回答(4个)
回答1:

c语言中指针即地址,地址的传值可以引起参数的变化。
比如:
&x, &y是取这两个变量的地址,他们的作用空间在main函数里。然后函数调用把这两个变量的地址传递到函数myadd中,在函数中的*a和*b分别是引用地址指向的变量值,等于是取到了x,y本身的值。在myadd中直接操作*a可以改变x的值。
通俗来说因为&x,&y表示的是x,y的地址。所以传递的是地址。意思就是说,函数可以通过地址引用变量。

回答2:

对函数myadd(&x,y&)引用就是x,y的地址赋值给指针a,b,故*a表示指针a指向的变量即x的值,*a=x,同理,*b=y。
因为&x,&y表示的是x,y的地址。所以传递的是地址。意思就是说,函数可以通过地址引用变量。

回答3:

&x, &y是取这两个变量的地址,他们的作用空间在main函数里。然后函数调用把这两个变量的地址传递到函数myadd中,在函数中的*a和*b分别是引用地址指向的变量值,等于是取到了x,y本身的值。在myadd中直接操作*a可以改变x的值。
对比函数anotheradd(int a, int b),调用anotheradd(x,y)。这里就是直接传的值,是把x,y的值复制到了a,b中,操作a,b对x,y没有影响。
你搞清楚每个变量的存储空间,就会容易理解吧

回答4:

这里面说的是x y变量,就是在myadd函数中通过传送地址值的方式 使用x 和y变量,这里面说的引用就是利用地址的方式直接使用main函数中的x y变量,使用的是同一块内存。要是不明白可以继续问我!!希望有用!