函数类型默认定义?
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);
内联函数适合短小的、被频繁调用的函数,对于复杂函数,无法使用。