C语言-函数指针,指针与函数传参_c语言指针函数传参


2.指针与函数传参

(1)普通变量作为函数形参


void func1(int b)
{
	// 在函数内部,形参b的值等于实参a
	printf("b = %d.\n", b);
	printf("in func1, &b = %p.\n", &b);
}
int main(void)
{	
	int a = 4;     
	printf("&a = %p.\n", &a);     // &a = 0x7ffc3826c2f4.
	func1(a);                     //b = 4,    in func1, &b = 0x7ffc3826c2dc.

	return 0;
}

->函数传参时,普通变量作为参数时,形参和实参名字可以相同也可以不同,实际上都是用实参来替代相对应的形参的。

->在子函数内部,形参的值等于实参。原因是函数调用时把实参的值赋值给了形参。

(2)数组作为函数形参

void func2(int a[])
{
	printf("sizeof(a) = %d.\n", sizeof(a));
	printf("in func2, a = %p.\n", a);
}
int main(void)
{	
	int a[5];
	printf("a = %p.\n", a);        //a = 0x7ffc5e60ef00.
	func2(a);                    //sizeof(a) = 8.  in func2, a = 0x7ffc5e60ef00.
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值