您的位置:首页 > 编程语言 > C语言/C++

C语言的学习笔记2-函数

2015-04-01 09:04 316 查看
    

如果把所有代码全部放在main函数里面,太拥挤了,不容易读懂理解代码,也不利于团队开发,所有除了main函数以外,我们需要编写其它函数来辅助main函数。

一.函数的定义格式

返回值类型 函数名(形参)
{
   函数体
}
函数名:函数叫什么,属于标示符,要遵守标示符规则。
函数体:函数需要实现什么呢,什么功能呢。
形式参数:定义函数时函数名后面括号里面的参数,简称形参。接收其它函数的实参。

二.函数的调用   

1.函数的调用就是需要实现某个功能,通过传递参数或者无参数传递调用函数使用其它函数的功能。下面函数就是在main函数里面调用hello函数实现功能。

<span style="font-family:SimSun;font-size:18px;">#include<stdio.h>

void hello();
int main()
{

hello();//调用hello函数实现所需要的功能
return 0;
}

void hello()
{

printf("hello");
}</span>


2.函数的调用有时需要传递参数,被调用函数后面的参数叫形参,调用函数时传入参数叫实参。

3.注意:
(1)实参个数必须等于形参个数,实参和形参要一一对应,类型也要一样

(2)被调用函数里面不能定义和形参一样的变量,因为作用域一样,会起冲突。
(3)传递的参数是基本类型,像整型,字符型,浮点型。纯碎是值传递,形参的改变不会影响到实参。
(4)函数可以没有参数,也可以有无限个参数。
 
三.函数的返回值
 
1.return的作用,第一是退出函数的标准,第二是如果函数返回值类型不为空,会返回一个具体值给这个其它函数里面的调用的这个函数

2.注意:
(1)void代表没有返回值,return可以不写或者写return;不返回任何值
(2)return在函数里面可以多次出现,提前退出函数。
(3)不写返回值类型,默认是返回int类型
(4)就算明确写了返回值类型,也可以不返回任何值,为了程序的可读性,应该写上。
(5)默认情况下,C语言不允许两个函数名一样。

四.函数的定义步骤

1.根据函数的作用,起一个合适的名字,让别人看见这个函数名就知道函数要实现什么功能。
2.确定函数需要接收几个参数,
3.看函数需不需要返回值。
 
五.函数的注意

1.函数名不允许一样,即使他们一个有参数传递,一个没参数传递
2.函数不能嵌套定义,就算说一个函数里面不能再定义其它函数
3.函数不能重复定义,也就是函数名不能重复。但是可以有无数个函数声明,C语言不报错
4.如果有函数的声明,没有函数的定义。可以通过编译,因为编译器只会检测语法合不合理,并不检测函数有没有定义。但是链接时会报错,因为链接的时候会检测是否定义了函数。
5.函数的声明可以在main函数里面也可以在main函数外面。函数的声明可以省略形参,只需要其它函数知道有你这个函数而已。
6.main函数返回值0表示正常退出,返回1表示异常退出。对程序本身没有影响
7.printf也是函数,也有返回值,返回值类型是int,返回的是字符串的字节数。
 
六..h文件和.c文件

由于把所有代码都写在一个文件里,不利用阅读和调试。多个人修改同一文件会出现问题,一般完成一个项目需要多人合作,这样不利用团队合作。一般在团队开发中,一个人写main函数,其他人写功能函数,除写main函数以为的人,其他人要为自己的功能函数建立一个.h文件和.c文件,.c文件写函数的定义,.h文件写.c文件内每个函数的声明。写main函数的人只需要将.h文件拷贝到自己文件里面就可以了。这样就可以实现多人开发。编译的时候main的.c文件和其他函数的.c文件各自编译,链接的时候把所有相关联的.o文件和C语言函数库合并在一起,生成可执行文件。

七.include

1.作用:拷贝右边文件的所有内容到#include所在的位置
2.自定义的文件用“”括起来,系统自带文件用<>括起来
3.用printf和scanf函数的时候,必须要再main函数前面加上#include <stdio.h>.就是为了把2个函数的声明拷过来。
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 函数