C/C++语法:(三)函数

1.在函数中传入引用变量

我们在小学二年级的时候学过,函数中传入实际参数,并不会改变他们自身的值,考虑以下代码:

#include <iostream>
using namespace std;

int f(int x){
    x = 5;
}

int main(){
    int x = 10;
    f(x);
    cout << x << endl;
    return 0;
}

得到的结果显然是 x = 10. 如果想要通过函数改变变量的值呢?小学二年级教过我们使用return语句,除此之外,还有使用引用变量的方法:

int f(int &x){
    x = 5;
}

void swap(int &x, int &y){ //另一个例子
    int t = x;
    x = y;
    y = t;
}
int main(){
    int x = 10;
    f(x);
    cout << x << endl;
    return 0;
}

这样经过函数f(x),x的值就被改成5了. 实际上引用和指针类似,之所以没有出现*号是因为C作者为了使用方便,已经优化成了这种写法,所以用就完事了.

2.在函数中传入数组变量

对于一维数组,可以有以下3种写法:

void fun(int a[10]);
void fun(int a[]);
void fun(int *a);

对于二维数组:

void fun(int (*a)[10]); //3是第二维的大小
void fun(int a[][10]); //只有第一维可以省略,可推广至多维数组

算法题中用到的函数知识暂时就这么多了,有用到新的再补充吧.

本文算法思想源于Acwing,特此注明。

posted @ 2020-09-23 20:22  AIchemistar  阅读(227)  评论(0)    收藏  举报