黑马程序员——函数---函数的定义和声明

                                           ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


一.函数的定义

1. 定义函数的目的

将一个常用的功能封装起来,方便以后调用

 

2. 定义函数的步骤

函数名:函数叫什么名字

函数体:函数是干啥的,里面包含了什么代码

 

3. 格式

 固定格式(很多语言的函数都是这么写的)

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

{

  函数体

}

举例

定义一个函数,计算两个整数的和

sum(int a, int b) 

{

int c = a + b;

}


二.函数的形参和实参

举例
#include<stdio.h>
//形式参数,简称形参
int sum(int num1;int num2)
{
	return num1 + num2;
}
int main()
{
	int a=100;
	int b=27;
	//a,b称为函数的实际参数,简称实参
	int c= sum(a,b);
	printf("c is %d\n");
	return 0;
}

*注意点:
1.形式参数:定义函数时,函数名后面的参数简称形参。
2.实际参数:调用函数是传入的具体数据简称实参。
3.实参个数必须等于形参个数。
4.函数内部不能定义和形参一样的变量。
5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值。
6.一个函数可以没有形参,也可以有无限多个形参。

三.函数的返回值

1.return的作用:
1)退出函数
2)返回一个具体值给函数调用者
2.返回值注意点:
1)void代表没有返回值
2)如果没有明确说明返回值的类型,默认是返回int类型
3)就算明确声明了返回值类型,也可以不返回任何值
3.默认情况下,C语言不允许两个函数名一样

四.定义函数的步骤

1.举例
/*求两个整数的和
打印一条横线
打印N条横线*/
#include<stdio.h>
int sum(int a,int b)
{
	return a + b;
}
void printLine()
{
	printf("-----------\n");
}
void printLine(int n)
for(int i=1;i<=n;n++)
{
	printf("-----------\n");	
}
int main()
{
	printf("%d\n",sum(100,200);
	return 0;
}

2.使用注意和函数声明
1)默认情况下,不允许有函数的名称一样。
2)函数不能嵌套定义
3)函数不能重复定义,但是可以重复声明
4)如果有函数的声明,没有函数的定义
1>编译可以通过,因为编辑器只会检测语法合不合理,并不会检测函数有没有定义
2>链接报错:因为链接的时候会检测函数是否定义

五.#include的基本使用

1.拷贝右边文件的所有内容到#include所在的位置
2.自定义的文件用" ",系统自带的文件用<>
3.#include<stdio.h>的目的,拷贝printf函数的声明

六.多文件团队开发的基本实现

1.举例

 张三:编写main函数

李四:编写一些简单的算数运算函数

编译:张三.c---->张三.o (main函数)

编译:李四.c---->李四.o (average函数)

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

2.完善代码

1.函数的定义放.c文件,函数的声明放.h文件

2.如果要使用某个.c文件中定义的函数,只需要#include这个.文件对应的.h文件

3. .h文件的作用:被别人拷贝,编译链接的时候不需要管.h文件





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值