函数定义:实现函数功能的具体代码
函数原型:描述函数接口(包括传递给函数的值的数目和种类、函数的返回值类型)
函数调用:程序将参数传递给函数,并执行其代码
传递参数形式:
默认情况下按值传递,意味着函数定义中的形参是新的变量,它们被初始化成函数调用所提供的值,因此c++函数通过拷贝,保护了数据的原始性。
c++将数组名参数视为数组第一个元素的地址,但在函数中,这也还是按值传递,因为指针是原始地址的拷贝,但是函数可以使用指针访问原始数组的内容。当且仅当声明函数形参时,
typename arr[ ]和typename * arr是等价的。可使用关键字const将形参声明成const类型,以便保护原始数据的完整性。由于传递数据地址时,不会传输有关数组的完整性,所以通常将数组长度作为独立的参数来传递,或者传递两个指针,一个指向数组开头,另一个数组末尾的下一个元素。
c++中提供三种表示C风格字符串的方法:字符串、字符常量以及字符串指针。它们对应的类型都是char*,c++使用空值字符(\0)来结束字符串,所以字符串函数检测空值字符来判断字符串的结尾。
c++中的string类也用于表示字符串,函数可以接收string对象作为参数以及将string对象作为返回值。
c++处理结构的方式也是按值传递,与基本类型完全相同,也可以将其用作函数的返回值类型。如果结构非常大,可以传递其地址,使用原始数据。
c++函数可以是递归的,函数代码中可包括对函数本身的调用
c++函数名与函数地址作用相同,将函数指针作为参数,可以传递要调用的函数的名称。