C语言函数

简介: C语言函数 一、函数 C语言程序是由函数构成的,每个函数负责完成一部分的功能,函数将工恩呢该封装起来,以供程序调用。   二、函数定义 目的:将一些常用的功能封装起来,以供日后调用。 步骤:确定函数名,确定函数体,调用 格式:返回值类型 函数名(形式参数列表)   {  函数体 }   三、函数调用 定义函数需要明确定的东西: ①.

 

C语言函数

一、函数

C语言程序是由函数构成的,每个函数负责完成一部分的功能,函数将工恩呢该封装起来,以供程序调用。

 

二、函数定义

目的:将一些常用的功能封装起来,以供日后调用。

步骤:确定函数名,确定函数体,调用

格式:返回值类型 函数名(形式参数列表)

  {  函数体 }

 

三、函数调用

定义函数需要明确定的东西:

①. 取一个有意义的函数名

②. 确定函数的形参

③. 编写函数体

④. 返回值

示例:

Int average(int num1,int num2)

{

Return  (num1+num2)/2;

}

int main()

{

Int a=1;

Int b=3;

Int c=average(a,b); //调用函数

Return 0;

}

  

 四、参数

①. 形参:定义函数时,函数名后面的参数 如num1和num2

②. 实参:调用函数时,传人的具体数据   如a和b

③. 形参和实参的个数必须相等

④. 函数体内部不能定义和形参同名的变量

⑤. 如果是基本的数据类型作为形参,则是纯粹的值传递,修改函数内部形参的值并不会影响到实参的值

⑥. 一个函数可以没有形参,也可以有无限个形参

 

五、函数的返回值

(一)Return 的作用:

①. 退出函数

②. 返回一个具体的值给函数的调用者

(二)返回值使用注意:

①. C语言是弱语法弱类型的语言,非常不严格

②. 如果没有写清楚返回值的类型,则默认为int型的

③. Void代表没有返回值

④. 就算明确声明了返回值类型,也可以不返回任何的值

⑤. C语言默认情况下,不允许有两个同名的函数

六、函数使用注意

①. 默认不允许函数重名

②. 函数之间是平等的,不能够嵌套定义

③. 函数不可以重复定义,但是可以重复声明,只要是在调用前声明就可以,地方随便

④. 函数如果是只要声明没有定义,那么编译可以成功,但链接时会失效

七、多人协作

#include<.stdio.h>是一个系统头文件。

#include<abc.txt>相当于把abc.txt文件中的所用内容以纯文本的方式拷贝到当前位置。

“”表示文件与.c文件处于同一路径,可以使用相对路径也可以使用绝对路径。左边有/的是绝对路径,没有/则为相对路径。

注意:自定义的文件使用“”,系统文件使用<>。

函数如果在调用时,函数定义在调用之后,且前面没有进行相应的声明,则编译器报错;

调用函数,没有函数声明,编译器不会报错,链接时报错,不定义函数反而不报错。

链接:把项目中所以相关的.o目标文件和c语言的函数库合并在一起,生成可执行文件。

通常:

①. 函数的定义放在.c文件中,函数的声明放在.h文件中

②. 如果要是有某个.c文件中定义的函数,只需要包含.c文件对应的.h文件即可

③. .h文件生下来就是打酱油被别人拿来拷贝包含的,编译链接时不用写出

 

八、补充

(1)main函数的返回值是返回给操作系统的,0为正常退出,其他值为非正常退出。用以进行系统日志,其实它返回任何值对程序本身没有影响,仅仅只是标记

(2)Printf函数的返回值为字符数。如printf(“abc”);则返回值为3,若printf(“abc男\n”);的返回值为7,因为一个中文占3个字符。

 

目录
相关文章
|
9天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
20 0
|
20天前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
24 0
|
20天前
|
编译器 C语言 C++
【C语言】memcpy()函数(内存块拷贝函数)
【C语言】memcpy()函数(内存块拷贝函数)
38 0
|
21天前
|
C语言 C++
【C语言】rand()函数(如何生成指定范围随机数)
【C语言】rand()函数(如何生成指定范围随机数)
16 0
|
30天前
|
C语言
在C语言中数组作为函数参数的应用与示例
在C语言中数组作为函数参数的应用与示例
15 0
|
30天前
|
算法 C语言
在C语言中函数的递归调用及应用示例
在C语言中函数的递归调用及应用示例
15 1
|
30天前
|
C语言
在C语言中多维数组名作为函数参数的应用与示例
在C语言中多维数组名作为函数参数的应用与示例
12 0
|
30天前
|
安全 程序员 C语言
探索C语言库函数:字符串拷贝函数strcpy
探索C语言库函数:字符串拷贝函数strcpy
19 0
|
9天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
35 0
|
16天前
|
存储 C语言
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现1
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现