首页 > 编程语言 >C++—函数

C++—函数

时间:2023-08-27 21:55:07浏览次数:30  
标签:语句 函数 形参 C++ 返回值 实参 定义

6 函数

6.1 概述

作用:将一段经常使用的代码封装起来,减少重复代码

一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。

6.2 函数的定义

函数的定义一般主要有5个步骤:

1、返回值类型

2、函数名

3、参数表列

4、函数体语句

5、return 表达式

语法:

返回值类型 函数名 (参数列表)
{

       函数体语句

       return表达式

}
  • 返回值类型 :一个函数可以返回一个值。在函数定义中
  • 函数名:给函数起个名称
  • 参数列表:使用该函数时,传入的数据
  • 函数体语句:花括号内的代码,函数内需要执行的语句
  • return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据

6.3 函数的调用

功能:使用定义好的函数

语法: 函数名(参数)

总结:函数定义里小括号内称为形参,函数调用时传入的参数称为实参

6.4 值传递

  • 所谓值传递,就是函数调用时实参将数值传入给形参
  • 值传递时,如果形参发生,并不会影响实参

总结: 值传递时,形参是修饰不了实参的值

6.5 函数的常见样式

常见的函数样式有4种

  1. 无参无返
  2. 有参无返
  3. 无参有返
  4. 有参有返

6.6 函数的声明

作用: 告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。

  • 函数的声明可以多次,但是函数的定义只能有一次

6.7 函数的分文件编写

作用:让代码结构更加清晰

函数分文件编写一般有4个步骤

  1. 创建后缀名为.h的头文件
  2. 创建后缀名为.cpp的源文件
  3. 在头文件中写函数的声明
  4. 在源文件中写函数的定义

标签:语句,函数,形参,C++,返回值,实参,定义
From: https://www.cnblogs.com/ljh2487/p/17660953.html

相关文章

  • C++初识
    1.1注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式单行注释://描述信息通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明多行注释:/*描述信息*/通常放在一段代码的上方,对该段代码做整体说明提示:编译器在编译代码时,会忽......
  • S调用函数时什么时候加小括号()?什么时候不加小括号()?
    JS调用函数时什么时候加小括号()?什么时候不加小括号()? 2019.03.1809:11:32字数83阅读1,937加括号后代表立即执行这个方法,不加括号代表这个方法不是立即执行,需要等待某个时机,如下:     不带括号的调用function,函数体对象为参数带括号的调用function(),立即执......
  • 剑指Offer 30. 包含min函数的栈
    题目链接:剑指Offer30.包含min函数的栈题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数在该栈中,调用min、push及pop的时间复杂度都是O(1)。解法思路:首先理解题意:题目是要实现一个可以在O(1)的时间复杂度内得到栈中最小值得栈,如果是常......
  • C++空类中有哪些成员函数?
    一共有6个成员函数。1.构造函数2.拷贝构造函数3.析构函数4.赋值运算符5.取址运算符6.取值运算符const1#include<iostream>2usingnamespacestd;34classEmpty5{6Empty();//构造函数7Empty(Empty&);//拷贝构造函数8~Empty();......
  • 函数式接口和方法引用
    函数式接口和方法引用1.函数式接口概述只有一个抽象方法(default不算)的接口称为函数式接口.通常有注解:@FunctionalInterface进行标识.2.方法引用只有在lambda表达式总发现方法体只有一行代码就可以简化写法;例如:lambda的三层简化写法newArrayList<String>().st......
  • cmake学习方法+CHI独占+ctags编写+C/C++语言原子的序+单核比多核快的C代码
    cmake学习方法主要是cmake这个东西好像有点抽象,而我想要的是完完全全的控制,虽然是花里胡哨的;但是在高手看来,这些东西有点过家家,而不是真正意义上的技术,甚至经常被怼,净是花拳绣腿,不容易阅读,控制效果不好,有时候还有语法错误云云。因此我还是用的Makefile,但是想必cmake是更好的,因......
  • 【题解】 P7077 [CSP-S2020] 函数调用(拓扑排序)
    题意题目给定了一个长度为\(n\)序列\(a\)与\(m\)个操作,操作一共有3种:1.给定\(x,y\),使\(a_x\)增加\(y\)。2.给定\(x\),使\(a\)中所有数全部乘上\(x\)。3.给出k个数\(c_1,c_2,...,c_k\),表示这个操作的任务是按照先后顺序执行编号为\(c_1,c_2,...,c_k\)的\(k\)的操作。最后,题目相......
  • 过滤函数
    要过滤对象数组中某个属性值相等的对象,可以使用过滤函数结合对象属性的比较来实现//假设有一个包含学生信息的数组varstudents=[{name:"张三",score:85},{name:"李四",score:90},{name:"王五",score:78},{name:"赵六",score:95},{name......
  • C/C++百日刷题第三天
    一、选择题1.1、如下代码输出的是什么()chara=101;intsum=200;a+=27;sum+=a;printf("%d\n",sum);A:327B:99C:328D:72题解:这题考察对常见数据结构存储的理解,容易出错在a+=27这个地方,char类型的数据存储范围为-128--127,当a+27之后会超过数据存储范围,a就变为-128,sum加......
  • 二叉树的链式存储结构 C++代码实现
    /*二叉树的链式存储结构*/#include<iostream>usingnamespacestd;/*二叉链表的定义*/typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode;typedefBiTNode*BiTree;//*************************************************......