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
相关推荐
星火开发设计9 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
星火开发设计2 天前
函数占位参数:语法规则与实际应用场景
开发语言·c++·学习·算法·函数·知识
_OP_CHEN3 天前
【Linux系统编程】(二十四)深入 Ext2 块组内部:inode、数据块与目录的底层工作机制
linux·操作系统·文件系统·c/c++·inode·块组·数据块映射
dvlinker4 天前
C/C++编程开发工具及实用软件推荐
ide·vscode·visual studio·qt creator·c/c++·source insight·编程工具
_OP_CHEN4 天前
【Linux系统编程】(二十三)从块到块组:Ext2 文件系统核心架构的初步认识
linux·操作系统·文件系统·c/c++·ext2文件系统·磁盘分区·块组
_OP_CHEN5 天前
【Linux系统编程】(二十二)从磁盘物理结构到地址映射:Ext 系列文件系统硬件底层原理深度剖析
linux·操作系统·文件系统·c/c++·计算机硬件·ext文件系统·磁盘寻址
ShineWinsu6 天前
对于C++:模版初阶的解析
开发语言·c++·面试·笔试·函数··模版
_OP_CHEN6 天前
【Linux系统编程】(二十一)吃透 Linux “一切皆文件” 与缓冲区:从底层逻辑到实战封装
linux·操作系统·glibc·c/c++·缓冲区·linux文件·io库
小白同学_C7 天前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
_OP_CHEN7 天前
【Linux系统编程】(二十)揭秘 Linux 文件描述符:从底层原理到实战应用,一篇吃透 fd 本质!
linux·后端·操作系统·c/c++·重定向·文件描述符·linux文件