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_CHEN21 小时前
【算法基础篇】(六十一)SG 函数通关指南:博弈论通用解法,从原理到实战秒杀各类 ICG 游戏
算法·蓝桥杯·c/c++·博弈论·acm/icpc·sg函数·有向图游戏
小白同学_C1 天前
Lab4-Lab: traps && MIT6.1810操作系统工程【持续更新】 _
linux·c/c++·操作系统os
阿捏利2 天前
详解Mach-O(五)Mach-O LC_SYMTAB
macos·ios·c/c++·mach-o
_OP_CHEN2 天前
【算法基础篇】(六十)Nim 博弈超全解析:从基础原理到经典变种,玩转多堆取石子问题
算法·蓝桥杯·c/c++·博弈论·算法竞赛·acm、icpc·nim博弈
_OP_CHEN2 天前
【Linux系统编程】(三十二)命名管道 FIFO 精讲:突破亲缘限制,实现任意进程间的 IPC 通信
linux·操作系统·进程·c/c++·fifo·进程间通信·命名管道
_OP_CHEN3 天前
【Linux系统编程】(三十一)初识进程间通信 —— 管道与匿名管道,从原理到实战吃透经典 IPC
linux·操作系统·进程·c/c++·管道·进程间通信·匿名管道
请为小H留灯4 天前
Excel 常用公式大全(带详细步骤):文本→日期→判断→查找→统计→求和
excel·职场·函数·公式·办公常用
_OP_CHEN4 天前
【Linux系统编程】(三十)深入进程地址空间与动态链接:动态库加载的底层逻辑揭秘
linux·操作系统·动态库·c/c++·动态链接·库的制作与原理·进程虚拟地址空间
_OP_CHEN4 天前
【算法基础篇】(五十九)巴什博弈 (Bash Game) 超详解:从原理到实战,搞定经典取石子问题
算法·蓝桥杯·c/c++·博弈论·算法竞赛·acm/icpc·bash博弈
小白同学_C4 天前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os