C++函数基本知识

函数的定义

一个函数的定义主要包括以下几个部分组成:返回类型、函数名字、由0个或多个形参组成的列表以及函数体。基本形式如下所示:
返回类型 函数名字(有0个或多个参数)

调用函数

函数的调用主要完成两项工作:一是用实参初始化函数对应的形参,二是将控制权转移给被调用函数。此时,主调函数的执行被中断,被调函数开始执行。
这个主要涉及到函数栈帧的开辟、调用等知识。参见《程序员自我修养》,后期有时间会补充这项知识。

形参和实参

在调用函数过程中,主调函数会向被调函数中传入一定的参数,主调函数中的参数被称为实参,被调函数中参数被称为形参。一般来说,函数的定义有几个形参,那么我们就必须提供相同数量的实参。因为函数的调用规定实参数量与形参数量一致,所以形参一定会被初始化。

函数的形参列表

函数的形参列表可以为空,定义时圆括号中为空;
当函数的形参个数较多时,形参通常使用“,”隔开,其中每个形参都是含有一个声明符的声明。即使两个形参的类型一样,也必须把两个类型都写出来。

int func(int v1,int v2)   //正确
int func(int v1, v2)   //错误
函数的返回类型

函数的返回值是丰富多样的,基本如下:
(1)函数不返回任何值;
(2)函数返回指向数组或函数的指针(重点)

局部对象

在函数的定义过程中,形参和函数体内部定义的变量统称为局部变量,仅仅在函数作用域内有效。
在所有函数体之外定义的对象存在于程序的整个执行过程中,在程序启动时,创建该类对象,直到程序结束时才会销毁。
局部变量的生命周期依赖于定义的方式:
(1)如果是普通变量,则在该函数作用域内有效,该函数执行结束则该变量称为未定义对象;
(2)有些时候,需要将局部变量的生命周期贯穿函数调用及之后,则将该变量声明为static,这被变量被称为局部静态对象。局部静态对象在程序的执行路径第一次经过对象定义时初始化,并且直到程序结束时才被销毁,在此期间,即使所在的函数结束执行也不会对其有印象。

函数声明

函数只能定义一次,但可以声明多次。
函数的三要素(返回类型、函数名、形参类型)描述了函数的接口,说明了调用该函数的所需的全部信息。

你可能感兴趣的:(c++,函数)