1》如果一个函数只能被本文件中其他函数所调用 ,它称为内部函数,又称为静态(static)函数。

内部函数首部的一般形式为:

static 类型标识符  函数史(形参表)

static     int             func      (int a, int b)

可以使内部函数只局限于所在的文件内。

如果在不同的文件中有同名的内部函数,互不干扰。这样不同的人可以分别编写不同的函数,而不用担心所用的函数是否会与其他文件中的函数重名。

2》如果在函数首部的最左端以关键字 extern(可以省略) ,则表示此函数是外部函数,可供其他文件调用 。

外部函数首部的一般形式为:

extern  类型标识符  函数史(形参表)

extern     int               func    (int a ,int b )

注意:如果在定义函数时省略extern,则默认为外部函数。

3-1》file1.cpp

#include<iostream>

using namespace std;

int main ()

{

extern int max(int a,int b);//声明在本函数将要调用在其他文件中定义的max函数

int a,b;

a=10;

b=20;

cout<<max(a,b)<<endl;

return 0;

}

3-2》file2.cpp

extern int max(int a,int b)

{

return a>b?a:b;

}

使用此例可知:使用extern 声明就可以在一个文件中调用其他文件中的定义的外部函数了。

利用函数原型扩展函数作用域最常见的例子是#include指令。

例如,在程序中需要调用sin函数,但是三角函数并不是由用户在本文件中定义的,而是存放在数学函数库中的。按以上的介绍,必须在本文件中写出sin函数的原型,否则无法调用sin函数。

sin函数的原型是:

double sin(double x);

本来应该由程序设计者在调用库函数时先从手册中查出所用的库函数的原型,并在程序中一一写出来,但是这样显然是麻烦而困难的。为了减少程序设计都的困难,在头文件cmath中包括了所有的数学函数的原型和其他有关信息,用户只须用以下#include指令:

#include<cmath>

即可。这时,在该文件中就能合法地调用 各数学库函数了。

详见:C++程序设计(第二版) P123-P125



C++中关于内部与外部函数相关推荐

  1. C语言 | 内部与外部函数

    C语言函数的声明和定义 一个函数一般由两部分组成: 声明部分执 行语句 C语言对变量而言,声明与定义的关系稍微复杂一些,在声明部分出现的变量有两种情况: 一种是需要建立存储空间的. 另一种是不需要建立 ...

  2. c语言在函数内部宏定义,简单讲解C++的内部和外部函数以及宏的定义

    C++内部函数和外部函数 函数本质上是全局的,因为一个函数要被另外的函数调用,但是,也可以指定函数只能被本文件调用,而不能被其他文件调用.根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数. ...

  3. C语言中的内部函数与外部函数

    内部函数: 如果一个函数只能被本文件中其它函数所调用,它称为内部函数.在定义内部函数时,在函数名和函数类型的前面加static.即 static 类型标识符 函数名 (形参表) 如: static i ...

  4. vue 外部方法调用内部_vue函数内部调用外部函数,报错外部函数不是函数

    zeroFill (num,len,radix) { let str = num.toString(radix || 10); while (str.length < len) { str = ...

  5. python第十六课——外部函数and内部函数

    1.外部函数&内部函数 内部函数: 定义在某个函数的内部,就是内部函数: [注意事项]: 1).内部函数可以随意使用它外部函数中的内容 2).外部函数不能使用内部函数中的内容 3).内部函数不 ...

  6. clips系列二-clips调用外部函数

    一.在clips中声明用户定义外部函数(对应advance编程3.1节) 修改clips源码中的,userfunction.c文件中的EnvUserFunctions. 在EnvUserFunctio ...

  7. 黑马程序员--C语言基础之--变量、内部函数与外部函数

    ------IOS培训期待与您交流! ------- 一.变量 变量代表着一个有名字的.具有特定属性的一个存储单元,运行期间,变量的值是可以改变的.变量必须先定义,后使用.定义时,指定该变量的名字与类 ...

  8. '无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称' 或 'vue不是内部或外部命令' 的解决方法...

    如果在使用 vue 初始化项目的时候提示: vue : 无法将"vue"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然 ...

  9. c语言打开外部doc文件,C语言-内部函和外部函数.doc

    C语言-内部函和外部函数 8.10 内部函数和外部函数?函数本质上是全局的,因为一个函数要被另外的函数调用,但是,也可以指定函数根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数. 8.10 ...

最新文章

  1. 工作流-----WorkFlow
  2. 华硕fx60vm安装macOS10.13.6和Windows10双系统
  3. IDEA——找不到或无法加载主类的一种暴力解决方法
  4. CentOS搭建本地光盘YUM源
  5. ML之FE:数据随机抽样之利用pandas的sample函数对超大样本的数据集进行随机采样,并另存为csv文件
  6. 【算法】一个简单的ISODATA原理
  7. 岗位内推 | 字节跳动招聘NLP、计算机视觉、推荐算法实习生
  8. 计算机网络实验(华为eNSP模拟器)——第十三章 VLAN注册协议(GVRP)
  9. 一段时间就回头看看自己走过的路
  10. Mac终端设置,zsh和bash环境变量配置
  11. 使用TFS存储项目文档
  12. Confluence 6 PostgreSQL 输入你的数据库细节
  13. PHP接入芝麻信用续。
  14. Python实现贷款用户的信用评分卡
  15. windows性能监视器基本指标
  16. 缓冲器(跟随器)电路
  17. 2019春 总结作业
  18. 常见概率抽样方法及其适用场景总结
  19. 一本通 3.1 例 1」黑暗城堡
  20. 如何查看和修改Windows的主机名

热门文章

  1. 重温JSP学习笔记--El表达式
  2. IOS线程学习(一)
  3. 穷举 百文百鸡
  4. flex中自定义皮肤的按钮制作
  5. POJ-1125 Stockbroker Grapevine 最短路
  6. 搜索引擎学习(一)初识Lucene
  7. C语言基本语法——函数
  8. Codeforces 558E A Simple Task
  9. 正负值地处理以及添加回调函数小案例
  10. 【洛谷 T47488】 D:希望 (点分治)