第1个回答 2020-04-01
int
*p(int
*pA)主函数调用,传递给形参pA的实参是一个指针,就相当于实参指针指向一个值,pA指针也指向那个值,这是赋值,不能说是拷贝,
比如
int
*k;
k=p(pA);///pA是自己定义的一个指针
///p函数返回时,是函数内部自己定义的指针,赋给k时,就是对指针进行赋值,不能说是返回指针拷贝,他们指向的值一样,但是意义不一样
第2个回答 2020-03-28
不是滴,函数参数值是从右到左的,我举一个例子给你看看!
#include<stdio.h>
int
main()
{
void
fun(int
i,int
n);
int
i=0;
fun(i++,i++);
return
0;
}
void
fun(int
i,int
n){
printf("%d\t%d\n",i,n);
}
第3个回答 2020-05-07
C语言中函数参数的传递有两种方式:传值与传地址。
传值就是将实参的值传递给形参,使得形参的值与实参一样。
传地址就是将实参所在内存单元的地址传递给形参,使得形参指向实参所在的内存地址。
举例说明如下:
#include<stdio.h>
int fun1(int a, int b);
{
return a>b ? a : b;
}
int fun2(int *a, int *b);
{
return *a>*b ? *a : *b;
}
void main()
{
int x=5, y=3;
int z1 = fun1(x, y); // 传值调用方式
int z2 = fun2(&x, &y); // 传地址调用方式
}