C语言·自定义函数·传递参数

C语言中的值传递无法直接修改实参,但通过指针传递可以使函数内部修改实参的值。文章通过实例展示了如何在自定义函数中使用指针传递,以实现对实参内容的改变,同时强调了指针传递并不改变实参本身,而是改变指针所指向的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中自定义函数时,值传递是单向的,由实参传递给形参

无论对形参做什么运算,都不会改变实参的值

但是,若想要利用自定义函数来改变实参的值,可以利用指针传递

举个栗子:

#include<stdio.h>
void exch();
int main()
{                                                          //简单地做了个交换两个数字的程序
	int a,b;
	scanf("%d %d",&a,&b);    //输入a、b的值
	printf("\n\noriginal_a=%d\noriginal_b=%d\n\n",a,b);    //输出a、b原始的值
	exch(a,b);                    //调用函数,在函数内交换两个数字,这里传递的a、b的值是实参
	printf("\n\nnew_a2=%d\nnew_b=%d\n\n",a,b);             //输出经函数运算后的a、b的值
	return 0;
}

void exch(int excha,int exchb)                    //可以看到,这里定义的是两个整型的临时变量
{
	int exchc;
	exchc=excha;
	excha=exchb;
	exchb=exchc;
	printf("\n\nexcha=%d\nexchb=%d\n\n",excha,exchb);   //输出函数运行后的结果,即交换
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值