c语言函数调用实参到形参传递的是值,那地址是怎么传递的?
答案:1 悬赏:0 手机版
解决时间 2021-04-30 23:50
- 提问者网友:聂風
- 2021-04-30 09:30
c语言函数调用实参到形参传递的是值,那地址是怎么传递的?
最佳答案
- 五星知识达人网友:渊鱼
- 2021-04-30 10:22
首先,是实参调用形参.你说的地址传递其实和值传递差不多.
比如max( &a, &b );这是实参
int max( int *p, int *p2 )这是形参.
比如实参,&a和&b都是取a和b的地址,又因为max()函数的形参是*p和*p2( *p和*p2被声明为整型的指针 ),因为指针是存地址的,所以把a和b的地址赋给p和p2.下面是一个把a和b的值交换的程序.
#include <stdio.h>
int max( int *p, int *p2 );
int main( void )
{
int a, b;
scanf( "%d", &a );
scanf( "%d", &b );
max( &a, &b );
printf( "a = %d, b = %d\n", a, b );
return 0;
}
int max( int *p, int *p2 )
{
int temp;
temp = *p;
*p = *p2;
*p2 = temp;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯