zoukankan      html  css  js  c++  java
  • 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指针

     

  • 相关阅读:
    FastReport报表控件使用技巧总结
    WinAPI: ShellExecute
    Delphi Excel 操作大全
    DATEADD和DATEDIFF函数、其他日期处理方法 、已打开的端口、FORMAT函数
    javascript-时间戳
    js-jquery-插件开发(二)【最终插件是最后一个,中间是过程】
    js-jquery-插件开发(一)
    Java-idea-eclipse-快捷键【mac,win】
    Java-idea-生成for循环
    Java-idea-设置类头注释和方法注释
  • 原文地址:https://www.cnblogs.com/wanshuai/p/9110529.html
Copyright © 2011-2022 走看看