定义函数,调用函数,传值(6)
2026/7/28 15:33:07 网站建设 项目流程

学到了函数,首先是函数的定义

函数的定义包括 函数头:返回类型 函数名(参数值)

{

函数体

}

其次是函数的调用,要调用一个函数,函数名后面必须要有“()”,“()”起到表示函数调用的重要作用,即使没有参数也是需要“()”,否则编译器不能调用你自己所编写的函数类型.

如果有参数,则需要给出正确的数量和顺序

这些值会按照顺序依次用来初始化函数中的参数

下面是一个 求和 的代码

int main() {

....

return 0;

} 这一段代码,就是我的理解就是 sum(1,10); 里的 1,10 相当于给 begin 和 end 赋值,然后函数体的语句将会执行,从而 得出结果

我觉得“函数体”相当于计算某一种类型数值的“通用公式”,就跟数学的函数类似

其次,函数知道每一次是哪里调用它,会返回到正确的地方。

从函数中返回值:return 停止函数的执行,并送回一个值,可直接“return” 或“return 表达式”

有了一个返回值后就 1.可以赋值给变量

2可以再传递给函数

3.甚至可以丢弃

PS.一个程序中可以有多个“return” ,但是不遵循“单一出口”原则。

没有返回值的函数: void 函数名 (参数表)

则不能使用带值的“return” ,也可以没有“return”,而且调用时不能做返回值的赋值。

如果函数有返回值,则必须使用带值的“return”

没有返回值的函数:

void 函数名 (参数表)

不能使用带值的return,可以没有return,调用时不能做返回值的赋值


函数先后关系:

void sum(){

函数体

}

int main(){

sum(1,10);

}

像这样把sum写在上面,是因为:C的编译器自上而下顺序分析你的代码。在看到sum(1,10); 的时候,它需要知道sum的样子,也就是sum()要几个参数,每个参数的类型如何,返回什么类型,才能知道调用的函数是否正确。


函数原型:

函数头,以分号“ ;”结尾,就构成了函数的原型。

函数原型的目的是告诉编译器长什么样:名称,参数(数量及类型),返回类型

然后 void sum( int a ,int b); 可以写成 void sum (int , int );

因为编译器不会检查参数的名称,会检查参数的类型,但是习惯于留名称,便于人们检查以及理解。


调用函数:

如果函数有参数,调用函数时必须传递给它数量,类型正确的值。

可以传递给函数的值是表达式的结果,这包括:

在C语言中在调用函数时,永远只能传值给函数。

传值:

每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系。

像上图中的 第一个 void swap(int a,int b); 第二个 void swap (int a ,int b );是两个变量空间

我们认为它们是函数和值得关系。


本地变量:

定义在函数内部的变量就是本地变量,参数也是本地变量

变量的生存期和作用域:

变量的生存期 :从开始到它消亡的这个期间

作用域:在(代码的)什么范围内可以访问这个变量(也就是这个变量的可以起作用的领域)

生存期和作用域受限于块内。

大括号内也称之为块

本地变量的规则:

一 本地变量定义在块内的

1 它可以是定义在函数的块内

2 也可以是语句内的块内,甚至可以拉一个大括号来定义变量

二 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就解决了

三 块外面定义的变量在里面仍然有效

四 块里面定义了和外面同名的变量则掩盖了外面的。

五 不能在同一个块内定义内同名的变量

六 本地变量不会被默认初始化

七 参数在进入函数的时候被初始化了

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询