C语言学习记录Day07

本文详细阐述了C语言中函数的传值调用、传址调用的区别,强调了函数设计的简洁性和逻辑清晰,讨论了全局代码的弊端,以及函数嵌套调用和链式访问的概念及其前提条件。
摘要由CSDN通过智能技术生成

1.需要改变实参的值时需要向函数传递实参的地址,否则直接传递数值即可。

2.函数的参数也可以是函数(返回值)。在函数调用时,实参需要是确定的值。

3.函数调用:(1)传值调用,eg:Swap1(a,b),对形参的修改不会影响实参(2)传址调用,eg:Swap2(&a,&b),可以让函数和函数外部的变量之间建立联系。

4.函数的功能越简单越泛用。

5.可以先写需求函数的使用,再对需求函数实现功能本身进行编写,逻辑清晰。

6.形式参数和实际参数的名字可以相同,也可以不同。

7.在函数内部无法计算数组内元素个数,因为对于数组而言,实参传给形参的是数组首地址(大小4/8)。

8.写代码尽量不要使用全局代码,因为每个函数都可以使用,因此该变量非常不稳定,容易出现BUG。

9.函数之间是可以进行组合互相调用的,即函数可以嵌套调用:

void new_line()
{
	printf("hehe\n");
}

void three_line()
{
	int i = 0;
	for (i = 0; i < 3; i++)
	{
		new_line();
	}
}

int main()
{
	three_line();
	return 0;
}

10.函数不能嵌套定义,即不能将函数的定义放在另外一个函数体内部。

11.函数的链式访问(一个函数的返回值作为另一个函数的参数):

int main()
{
	int len = strlen("abcdef");
	printf("%d\n", len);

	//链式访问
	printf("%d\n", strlen("abcdef"));

	printf("%d", printf("%d", printf("%d", 43))); //4321,printf返回打印字符的个数

	return 0;
}

函数链式访问的前提是作为参数的函数有返回值。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值