/*
* 14_内部函数和外部函数.c
*
* Created on: 2015年7月5日
* Author: zhong
*/ #include <stdio.h>
#include <stdlib.h>
/**
* 所谓的外内部函数:是依据函数是否能被其他源谁的调用来区分的。
* 一:内部函数:在函数定义时前面加个static (c语言的这个静态函数和java的static方法就差太远了)
* 假设一个函数仅仅能被本文件里其他函数调用,它称为内部函数,又叫静态函数
* 仅仅须要在定义和函数时在前面加个 statickeyword就可以,这说就能够将这个函数的作用域限制在本文件里。和java的private方法修色符一样的效果。 * 如:static int max(int a,int b){}
* 这样不但限制了作用域问题,还有就是在同样project中的不同文件里能够定义同样名称的函数名。互不干扰
*
*
*二:外部函数:在函数定义时前面加个extern,当然这个externkeyword是可省略的,就是平时定的普通默认的函数
* 如: extern int fun(int a,int b){}
*
* 在本文件里调用其他文件的外部函数时。须要对外部函数声明(当然本文件里调用也是要对函数原型进行声明的)。 在此函数声明时,要加keywordextern
*
*
*
*/ //定义内部函数(静态函数)
static int max_(int a,int b){
return a>b? a:b;
} //普通的函数(外部函数)
extern int fun(){ //extern可省略 } int main() {
extern void character_int_out_put();//引用 “02_输入输出函数.c”文件里的函数,先对其进行声明,要不会警告。但不报错
character_int_out_put(); //调用 // system("pause");
return 0;
}

C语言学习笔记:14_内部函数和外部函数的更多相关文章

  1. go语言学习笔记----模拟实现文件拷贝函数

    实例1 //main package main import ( "bufio" "flag" "fmt" "io" & ...

  2. Go语言学习笔记十三: Map集合

    Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...

  3. 《C# 语言学习笔记》——定义属性

    属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的 ...

  4. HTML语言学习笔记(会更新)

    # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

  5. 2017-04-21周C语言学习笔记

    C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...

  6. 2017-05-4-C语言学习笔记

    C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...

  7. GO语言学习笔记(一)

    GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...

  8. Haskell语言学习笔记(88)语言扩展(1)

    ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...

  9. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

随机推荐

  1. django项目添加新的app

  2. 【BZOJ 3456】城市规划

    http://www.lydsy.com/JudgeOnline/problem.php?id=3456 设\(f(n)\)表示n个点有标号无向连通图的数目. dp:\(f(n)=2^{n\choos ...

  3. 数据准备<4>:变量筛选-理论篇

    在上一篇文章<数据准备<3>:数据预处理>中,我们提到降维主要包括两种方式:基于特征选择的降维和基于维度转换的降维,其中基于特征选择的降维通俗的讲就是特征筛选或者变量筛选,是指 ...

  4. 【动态规划+Floyd】OpenJudge3368

    OpenJudge上刷水都不会了……这题居然写了一个半小时…… [题目大意] 诸葛亮要征服N城市.然而,City-X在击败City-2,City-3……City-x-1后击败.关羽,张飞,赵云,每个人 ...

  5. 方程式0day图形化利用工具

    最近方程式的漏洞着实活了一把,分析了下githup上面的文件目录,找到了利用文件,主要是针对windows主机的SMB.RDP协议进行攻击,因为我主要根据他们提供的payload的程序,利用这两个模块 ...

  6. [CodeChef-QUERY]Observing the Tree

    题目大意: 给你一棵树,一开始每个点的权值都是0,要求支持一下三种操作: 1.路径加等差数列. 2.路径求和. 3.回到以前的某次操作. 强制在线. 思路: 树链剖分+主席树. 最坏情况下,n个点的树 ...

  7. [BJOI2010]次小生成树

    OJ题号: BZOJ1977.COGS2453 题目大意: 给你一个无向连通图,求严格次小生成树. 思路: 对于一般次小生成树,我们有一个结论:一般次小生成树一定可以通过替换掉最小生成树某一条边得到. ...

  8. java线程系列文章之一(线程的安全性)

    本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7421217,转载请注明. 当我们查看JDK API的时候,总会发现一些类 ...

  9. 单源最短路径-迪杰斯特拉算法(Dijkstra's algorithm)

    Dijkstra's algorithm 迪杰斯特拉算法是目前已知的解决单源最短路径问题的最快算法. 单源(single source)最短路径,就是从一个源点出发,考察它到任意顶点所经过的边的权重之 ...

  10. MySQL Innodb 存储引擎学习篇

    master thread的县城优先级别最高.其内部由几个循环(loop)组成:主循环(loop).后台循环(background loop).刷新循环(flush loop).暂停循环(suspen ...