简单的函数

1.函数的定义:子程序,是一个大型程序中的部分代码,由一个或多个语句块组成,负责完成某项特定任务,具有相对独立性。

2.函数分类:

>库函数(完成有限的功能)

>自定义函数(可以实现自己想要的逻辑)

3.库函数:顾名思义是把函数放到里..是别人把一些常用到的函数编完放到一个文件里,供别人用.

>库函数分类:IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期函数,数学函数,其他库函数。

如:

strcpy
char*strcpy(char*destination,const char*source);
printf
int printf(const char*format,…);

注意:使用户库函数时必须包含#include对应的头文件。

4.自定义函数:和库函数一样有函数名,返回值类型,函数参数,但这些要我们自己设计

>函数组成

t_type   f_name(para,……){
                //语句项
}
t_type  返回类型
f_name函数名
para   函数参数

>例:交换两个整形变量的内容。

#include<stdio.h>
void is_exchenge(int a,int b){
	a^=b;
	b^=a;
	a^=b;
	printf("%d,%d\n",a,b);
}
int main() {
	int a,b;
	scanf("%d%d",&a,&b);
	is_exchenge(a,b);
	return 0;
}

5.函数的参数。

>实参:真实传给函数的参数。实参可以是常量,变量,表达式,函数。函数在调用时必须有确定的值。

>形参:函数名后括号中的变量。形式参数只有在函数被调用的过程中才实例化。形参在调用完后自动销毁,因此只在函数中有效。形参的实例化相当于实参的一份拷贝。

6.函数的调用

>传值调用:传入数值。函数的形参和实参分别占用不同内存块,对形参的修改不会影响到实参。

>把函数外部创建变量的内存地址传给函数参数。可以让函数和函数外边的变量建立起真正的联系,也就是说函数内部可以直接操作函数外部的变量。

补充:(1)任何函数只要传参就必须生成临时变量。

          (2)C语言中可以不写返回类型,默认返回类型为int。

                is_fun(){}; 

7.函数的声明和定义:

>函数的声明:只有函数的返回类型,函数参数,函数名。并没有具体实现。声明一般放在头文件中。

int f_fun(int a);

>函数的定义:指函数的具体实现,交代函数功能的实现。也就是函数体。

>在头文件中声明函数:

#ifndef _TEST_H_
#define   ……
//函数的声明
//声明的内容必须写在#define 和#endif 之间
 #endif  

>在源文件中函数的实现:

#include"头文件名"
int fun(int a){
    a=2;      //具体实现  
return a;
} 

8.链接属性:

>外部链接属性:一个标识符不仅可以在当前源文件中使用,使用extern声明还可以在其他源文件中使用。

add.c源文件
int Add(int i,int j){return i+j;} 
int a=100;    //具有外部属性链接

main.c源文件
#include<stdio.h>
extern int Add(int ,int); //只引用名称,不引用函数体
extern int a;    //引用变量时不能对变量赋值
int main(){}

>内部链接属性:外部连接属性加上static关键字修饰。

add.c源文件
 static int Add(int i,int j){return i+j;} 
 static int a=100;    //具有内部属性链接

main.c源文件
#include<stdio.h>
extern int Add(int ,int); //只引用名称,不引用函数体
extern int a;    //引用变量时不能对变量赋值
int main(){}

>无属性:局部变量就是无属性





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值