C++知识点总结(13):函数

一、定义

函数,指可以实现某个功能,可以重复使用的一段代码。不同的函数之间相互独立,即函数之间的功能互不影响(互相的代码)。

二、结构

1. 定义

复制代码
返回值类型 函数名(形参1, 形参2, 形参3...形参n)
{
    ...
    return 值;
}

2. 调用

复制代码
函数名(实参1, 实参2, 实参3, ... 实参n)

三、传入参数

地址

cpp 复制代码
void swap(int &a, int &b)

多维数组

cpp 复制代码
void swap(int a[][105], int b[][105])

之所以最高维不写参数,是为了找到第二维度的开头在哪里。

四、应用

1. swap()

(1) 地址法
cpp 复制代码
void swap(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}
(2) 指针法
cpp 复制代码
void swap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

2. isPrime()

cpp 复制代码
bool isPrime(int n)
{
    if (n <= 1)
    {
        return false;
    }
    for (int i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            return false;
        }
    }
    return true;
}

3. 回文

cpp 复制代码
bool isHuiwen(char s[])
{
    int len = strlen(len);
    for (int i = 0; i < len; i++)
    {
        if (s[i] == s[len-i-1])
        {
            return false;
        }
    }
    return true;
}

五、局部变量

  • 局部变量属于定义其的代码块,代码块执行完毕后,会自动删除节省内存
  • 局部变量的作用范围只限于定义其大括号和大括号内
  • 不会自动初始化,且不能重名

六、全局变量

  • 全局变量在运行结束前都不会被删除
  • 全局变量在任何地方都可以调用
  • 全局变量会自动将自己初始化为0
相关推荐
_OP_CHEN4 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
_OP_CHEN5 小时前
【Linux系统编程】(二十七)手撕动静态库原理与实战:从底层逻辑到代码落地
linux·操作系统·动态库·静态库·c/c++·库的原理与制作
_OP_CHEN1 天前
【算法基础篇】(五十五)卡特兰数封神之路:从括号匹配到二叉树构造,组合数学的万能钥匙!
算法·蓝桥杯·c/c++·组合数学·卡特兰数·算法竞赛·acm/icpc
_OP_CHEN1 天前
【Linux系统编程】(二十六)一文吃透 Ext 系列文件系统软硬链接:原理、实战与底层逻辑揭秘
linux·操作系统·文件系统·c/c++·硬链接·软链接·ext2文件系统
_OP_CHEN2 天前
【算法基础篇】(五十四)解析错排问题:从信封错位到编程实战,一次性搞懂排列组合中的 “反常识” 难题!
算法·蓝桥杯·c/c++·组合计数·算法竞赛·acm/icpc·错排问题
_OP_CHEN2 天前
【Linux系统编程】(二十五)从路径到挂载:Ext 系列文件系统的 “导航” 与 “整合” 核心揭秘
linux·操作系统·文件系统·c/c++·ext2文件系统·路径解析·挂载分区
星火开发设计3 天前
格式化输入输出:控制输出精度与对齐方式
开发语言·c++·学习·算法·函数·知识
_OP_CHEN3 天前
【算法基础篇】(五十三)隔板法指南:从 “分球入盒” 到不定方程,组合计数的万能解题模板
算法·蓝桥杯·c/c++·组合数学·隔板法·acm/icpc
星火开发设计6 天前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
星火开发设计7 天前
函数占位参数:语法规则与实际应用场景
开发语言·c++·学习·算法·函数·知识