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个字符。

目录
相关文章
|
16天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
26 0
|
27天前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
26 0
|
27天前
|
编译器 C语言 C++
【C语言】memcpy()函数(内存块拷贝函数)
【C语言】memcpy()函数(内存块拷贝函数)
42 0
|
28天前
|
C语言 C++
【C语言】rand()函数(如何生成指定范围随机数)
【C语言】rand()函数(如何生成指定范围随机数)
16 0
|
1天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
1天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
3天前
|
存储 C语言
C语言函数的返回值
C语言函数的返回值
7 0
|
3天前
|
C语言 Windows
C语言中的fopen与fclose函数详解
C语言中的fopen与fclose函数详解
11 1
|
3天前
|
C语言
深入理解C语言中的printf函数及数据输出
深入理解C语言中的printf函数及数据输出
13 0
|
16天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
35 0