一.函数的调用
以简单的Add加法函数为例:
我们简单地写了一个两数相加的的函数,那么如何进行main函数中的调用呢?
方法如下:
我们可以发现调用函数的方法很简单,只需创建的函数名称+(创建的变量)就可以实现函数的调用:
而调用又有两种方式:
1.传值调用:
举一个简单的例子,我们需要调换两个实参的数据而非地址,将其传给形参:
调用函数后,因为是传值调用,故仅改变了形参的值,却并未改变实参的值,故输出仍为1和2。
2.传址调用:
我们也要实现两数的交换,不过我们这次是采用地址的调换:
因为我们改变了两个参数的地址,改变了实参,导致了结果的改变,这时cd的值就真正意义上的改变了。
解决完这个问题,我们接下来看函数的嵌套。
二.函数的嵌套调用
在上述的函数调用方法中,我们只创建了一个函数,那么可不可以创建多个函数,并实现一个函数对另一个函数的调用呢,答案是可以的。
我们定义一个函数的功能为打印字符:
接下来攥写第二个函数:
实现对第一个first函数的调用,接着在main函数中调用second函数:
我们可以发现打印了三串lala字符,成功实现函数嵌套。(注意可以嵌套调用但是不能嵌套定义)
三.链式访问
定义:把一个函数的返回值作为另一个函数的参数。
举一个简单的例子:
这一串代码的结果是什么?
这就是经典的链式访问,要获得打印的结果就需要逐一分析各个printf函数的返回值。
通过官方网站cplusplus.com - The C++ Resources Network我们可以进行搜索
对划线句子进行翻译,(运行成功时,返回写入的总字符数)。在上述的代码中(43)也就是2个字符,所以第三个printf函数返回值就是2,第二个是1,第一个也是1了。
所以运行结果就是:
这便是典型的嵌套调用