10、C++函数

1、定义函数和函数调用:

  1.1、定义函数:

   可以将函数分为两类,没有返回值的函数,和有返回值得函数,没有返回值得函数被称为void函数,其通用格式如下:

1 void funtionname (parameterlist)
2 {
3      statement(s);
4      return;//可选的
5    
6 }

其中parameterlist指定了传递给函数的类型和数量,

又返回值得函数的通用格式为:

1 typeName funtionname(parameterList)
2 {
3      statements;
4      return value;//返回值得数据类型与 typeName的类型一样
5 }

   

  1.2、函数调用

    调用函数必须在调用它的程序之前,对函数有一个定义,并且要提供函数的原型。调用函数时,要按照,函数的参数顺序,与参数的类型,对函数进行传参。

   1.3、数参数和按值传递

    在函数中声明的变量(包括参数)是该函数私有的,在函数被调用时,计算机将为这些变量分配内存,在函数结束时,计算机将会释放这些变量的内存(有些C++文献将分配内存称为创建和毁坏变量)这样的变量称为局部变量,因为他们被限制在函数中,,这样有助于确保数据的完整性

     

        

2、函数与数组:

  

int sum_arr(int arr[],int n)//arr = 数组名,n=size

  arr是一个指针,但在编写函数的其余部分的时候,可以将arr看作是数组

   

 1 #include <iostream>
 2 const int ArSize = 8;
 3 int sum_arr(int arr[],int n);//声明函数
 4 int main()
 5 {
 6     using namespace std;
 7     int cookies[ArSize] = {1,2,4,8,18,32,64,128};
 8     int sum = sum_arr(cookies,ArSize);
 9     cout<<"Total cookies eaten:"<<sum<<"
";
10     return 0;
11 
12 }
13 
14 int sum_arr(int arr[],int n)
15 {
16     int total = 0;
17     for (int i=0;i<n;i++)
18          total = total +arr[i];
19     return total;
20 }

程序输出为:

Total cookies eaten:255

  

将数组地址作为参数可以节省赋值整个数组所需要的时间和内存,如果数组很大,则使用拷贝的系统开销将非常大,程序不仅需要更多的计算机内存,还需要花费时间来赋值大块的数据。

 使用函数区间的函数(类似于Python中的切片)

将C风格字符串作为参数传给函数;

  (1).char数组

  (2)用引号括起来的字符串常量

  (3)被设置为字符串的地址的char指针

 

原文地址:https://www.cnblogs.com/wanshuai/p/9110529.html