c语言自定义函数的三类 c语言自定义函数

简述c语言中用户自定义函数由哪几部分组成定义一个函数我们需要确定以下内容:
1、函数的返回值类型
2、函数的名称
3、函数的参数
4、函数主体代码块
示例代码:
int definePlus(int a, int b)
{
a = a + 1;
b = b + 1;
return a + b;
}
例如上面代码中就定义了一个返回值为int类型的函数,其函数名为definePlus,一对小括号中的内容为这个函数的参数,也就是说这个函数有两个传入参数int a和int b 。
在函数体内,分别让a在原来的基础上加1,让b在原来的基础上加1,然后使用return关键字返回a + b的和 。如果a的值是2,而b的值是3,那么这个函数的返回值则是7 。
扩展资料
函数的调用与声明
如果函数的定义是在调用函数的后面则需要在调用之前声明函数的定义 , 否则不需要事先声明 。声明的意思是告诉编译器,这个函数的返回值类型、函数名和参数 。
在调用一个函数时,需要向这个函数传其需要的参数,例如a和b这两个变量,并可以指定另一个变量用于接收这个函数执行后的返回值,比如变量c就接收了函数wrongplus()的返回值,结果为7 。
但是我们看到程序的运行结果是 2 + 3 = 7,也就是说 , 执行了函数wrongplus()后 , 我们虽然对函数内的参数变量分别加1,但主函数main中的a和b的值并没有发生变化 。示例代码:
#include stdio.h
main()
{
int a = 2, b = 3;
int c;
int wrongplus(int a, int b);
c = wrongplus(a, b);
printf("%d + %d = %d\n",a, b, c);
}
int wrongplus(int a, int b){
a = a + 1;
b = b + 1;
return a + b;
}
2 + 3 = 7
C语言中允许默认的函数类型是什么int 。C语言规定:在定义函数时,若其返回值类型为int,则可以默认 。
C语言函数有三类,分为外部函数、静态函数、内联函数,其中前两种是C89标准支持,第三种是C99标准增加的 。
1、外部函数
这类函数是默认的函数类型 , 基本上平时我们使用的就是这种函数 , 声明有以下两种方式,例如:
// 使用extern关键字 , 显示声明
extern int add(int a, int b);
// 或省略关键字extern , 编译器也会自动认为是extern
int add(int a, int b);
外部函数表明在当前声明和定义的代码文件中可以使用,也可以在其它代码文件中可以通过#include指令包含使用,对外部的代码可见 。
2、静态函数
这类函数其实与外部函数相对的,因为需要使用static关键字修饰 , 因此称为静态函数,其实就是内部函数 。声明方式如下,例如:
static int add(int a, int b);
静态函数的作用域只能在当前声明和定义的文件中,在其它代码文件中无法#include使用 , 因此在整个程序中,特别是大型程序,有多个源代码文件时,即使定义相同名称的两个静态函数,也不会有命名和使用冲突 。
3、内联函数
是新增的特性,使用inline关键字声明和定义,该类函数类似#define宏定义展开,编译时会直接将函数定义代码在调用的地方复制展开 , 这样会减少函数调用的开销,提高运行效率 。
inline int add(int a, int b);
内联函数适合短小的、被频繁调用的函数,对于复杂函数,无法使用 。
扩展资料:
C语言编写注意事项:
1、const在声明变量中起限制作用, 该限定变量的值不能被修改 。
2、%运算符不能应用与float或double类型 。
3、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符 。

推荐阅读