C语言函数的声明和定义

一个函数一般由两部分组成:

  • 声明部分执

  • 行语句

C语言对变量而言,声明与定义的关系稍微复杂一些,在声明部分出现的变量有两种情况:

  • 一种是需要建立存储空间的。

  • 另一种是不需要建立存储空间的。

前者称为定义性声明,简称定义;后者称为引用性声明。

一般为了叙述方便,把建立存储空间的声明称定义,而把不需要建立存储空间的声明称为声明。

在函数中出现的对变量的声明,除了用extern声明的以外都是定义,在函数中对其他函数的声明不是函数的定义。

C语言内部函数

一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static即:

static 类型名 函数名(形参表);

内部函数又称为静态函数,因为它是用static声明的。

使用内部函数,可以使函数的作用域只局限于所在文件,在不同的文件中即使有同名的内部函数,也互不干扰。

通常把只能由本文件使用的函数和外部变量放在文件的开头,前面都加static使之局部化,表示其他文件不能引用。

C语言外部函数

在定义函数时,在函数首部的最左端加关键字extern,则此函数是外部函数,可供其他文件调用。

C语言规定,如果在定义函数时省略extern,则默认为外部函数。

C语言内部函数外部函数案例

#include
extern int maxNumber(int num1,int num2)//外部函数
{int max;max=num1>num2?num1:num2;return max;
}
static float minNumber(float num1,float num2)//内部函数
{float min;min=num1<num2?num1:num2;return min;
}
int main()
{printf("%d\n",maxNumber(10,11)); printf("%f\n",minNumber(10,11)); return 0;
}

编译运行结果:

11
10.000000--------------------------------
Process exited after 0.07334 seconds with return value 0
请按任意键继续. . .

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

C语言 | 内部与外部函数相关推荐

  1. c 语言 内部函数与外部函数,C语言-内部函数与外部函数.doc

    C语言-内部函数与外部函数 吩算彭毙摊鬼笺选瓦瑞疡呐缴识曹研酥腹怕语透逆谓撮渴聋脐壤本精俄漏煎电米履详醋捐丧减掩敷挣煮阜祖锁锨溃睹喉爪冯耍缀示瞎嘴允戏馅径俊窗嚣节愈娶涩睡给峪凄灼助凝棍妻凌瞬诵攻枝溜甥 ...

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

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

  3. c语言中的extern_7.6 C语言内部函数和外部函数

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

  4. C语言 内部函数和外部函数

    C语言学习 内部函数和外部函数 内部函数 外部函数 总结 内部函数和外部函数 函数本质是全局的,因为定义一个函数的目的就是要被另外的函数调用.若不回声明,一个文件中的函数既可以被本文件中其他函数调用, ...

  5. C语言内部函数与外部函数

    内部函数与外部函数的区分标准是,该函数能否被其他源文件调用. 内部函数 如果一个函数只能被本文件中的其他函数调用,称为内部函数.在定义内部函数的时候,在函数名和函数类型的前面加static,即: st ...

  6. C++中关于内部与外部函数

    1>如果一个函数只能被本文件中其他函数所调用 ,它称为内部函数,又称为静态(static)函数. 内部函数首部的一般形式为: static 类型标识符  函数史(形参表) static      ...

  7. c语言中声明外部函数需要添加的关键字,C语言中声明和定义的区别——分析extern关键词。...

    一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的. 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定初始 ...

  8. C语言extern调用外部函数

    > ls xuanzeSort.c common.c > cat common.c #include<stdio.h> //公共函数文件//打印long型数组的内容 void ...

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

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

最新文章

  1. 3月最新!2021中国内地大学ESI排名出炉:333所高校入榜全球前1%
  2. Leetcode409最长回文串 -字符哈希
  3. python正则表达式指南_Python正则表达式指南(转)
  4. php环境搭建sqlserver,ThinkPHP5.0/5.1对接SQLServer数据库(宝塔环境)
  5. android手机最低内存,原神手机端需要哪些配置 手机端最低配置要求介绍
  6. 上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”
  7. 【UML】用例图中<<extend>>与<<include>>的区别
  8. Linux io运行情况,Linux IO调度层分析
  9. ELK 使用小技巧(第 5 期)
  10. JVM常见的七种垃圾收集器的简单比较
  11. Javascript特效:长图滚动
  12. 《西游记第一百零一回》第一百零一回观(转)
  13. Java 找水仙花数
  14. 微信小程序实践——实验1获取用户信息
  15. Yourkit 监控Jetty(stand-alone)
  16. 树莓派连接HC-SR501人体红外感应模块和蜂鸣器模块
  17. 利用matplotlib画函数图像
  18. SpringMVC 2.HelloWorld
  19. 恋物志(一):网红带货,宠主追捧,2021年宠物智能硬件会火吗?
  20. 对lim me → ∞ = you的理解

热门文章

  1. 通过Java Hipster升级Spring Security OAuth和JUnit测试
  2. 服务器日志记录_5种改善服务器日志记录的技术
  3. 如何修复无效的目标版本:Maven Build中的1.7、1.8、1.9或1.10错误
  4. jwt-cli:一个用于解码JSON Web令牌(JWT令牌)的Shell库
  5. Spring Boot 2应用程序和OAuth 2 –传统方法
  6. Spring Data Solr教程:将自定义方法添加到单个存储库
  7. 什么是JAX-RS注释? (第3部分)
  8. java 和javafx_JavaFX 2 XYCharts和Java 7功能
  9. 清洁责任–摆脱均等,compareTo和toString
  10. 安装tron_具有Tron效果的JavaFX 2 Form