博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
必须知道的C语言知识细节:三类函数使用区别
阅读量:3945 次
发布时间:2019-05-24

本文共 755 字,大约阅读时间需要 2 分钟。

C语言函数有三类,分为外部函数、静态函数、内联函数,其中前两种是C89标准支持,第三种是C99标准增加的。

外部函数

这类函数是默认的函数类型,基本上平时我们使用的就是这种函数,声明有以下两种方式,例如:

// 使用extern关键字,显示声明

extern int add(int a, int b);

// 或省略关键字extern,编译器也会自动认为是extern

int add(int a, int b);

外部函数表明在当前声明和定义的代码文件中可以使用,也可以在其它代码文件中可以通过#include指令包含使用,对外部的代码可见。

静态函数

这类函数其实与外部函数相对的,因为需要使用static关键字修饰,因此称为静态函数,其实就是内部函数。声明方式如下,例如:

static int add(int a, int b);

静态函数的作用域只能在当前声明和定义的文件中,在其它代码文件中无法#include使用,因此在整个程序中,特别是大型程序,有多个源代码文件时,即使定义相同名称的两个静态函数,也不会有命名和使用冲突。

内联函数

是新增的特性,使用inline关键字声明和定义,该类函数类似#define宏定义展开,编译时会直接将函数定义代码在调用的地方复制展开,这样会减少函数调用的开销,提高运行效率。

inline int add(int a, int b);

内联函数适合短小的、被频繁调用的函数,对于复杂函数,无法使用。

从写代码角度来看,内联函数保持了函数的形式,但是从编译以后的程序来看,代码中已经没有函数调用。

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

转载地址:http://qbjwi.baihongyu.com/

你可能感兴趣的文章
Vue入门
查看>>
非starter方式实现springboot与shiro集成
查看>>
Starter方式实现Springboot与Shiro集成
查看>>
移动端多页面应用(MPA)的开发(一)
查看>>
移动端多页面应用(MPA)的开发(二)
查看>>
移动端多页面应用(MPA)的开发(三)
查看>>
移动端多页面APP(MPA)开发体验
查看>>
基于深度学习知识追踪研究进展(综述)数据集模型方法
查看>>
linux常见命令与FileZilla
查看>>
PostgreSQL和ElasticSearch学习笔记
查看>>
java反射
查看>>
paint 和 paintcomponent的区别
查看>>
JSP字节码的存放路径问题
查看>>
对RMQ的理解
查看>>
LCA的离线算法
查看>>
spark学习与资料
查看>>
Java_SSM问题
查看>>
sql-数据库操作
查看>>
推荐CTR预估-几个基础模型FM \FFM\GBDT+LR
查看>>
推荐系统基础
查看>>