C语言学习笔记:14_内部函数和外部函数
/*
* 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_内部函数和外部函数的更多相关文章
- go语言学习笔记----模拟实现文件拷贝函数
实例1 //main package main import ( "bufio" "flag" "fmt" "io" & ...
- Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...
- 《C# 语言学习笔记》——定义属性
属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的 ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- 2017-04-21周C语言学习笔记
C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...
- 2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
- GO语言学习笔记(一)
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...
- Haskell语言学习笔记(88)语言扩展(1)
ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
随机推荐
- Struts2 (上)
Struts2简介 Struts2框架的作用 Struts2是一个基于MVC设计模式的Web应用框架 它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controlle ...
- 【搜索】【组合数学】zoj3841 Card
转载自:http://blog.csdn.net/u013611908/article/details/44545955 题目大意:一副牌除掉大小王,然后有一些已经形成了序列,让你算剩下的牌能组合出多 ...
- VC6配置sqlite数据库
SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下: 1.下载DLL ...
- [转]Android Message.obtain() 和Handler.obtainMessage()的区别
目录(?)[+] 参考:http://www.2cto.com/kf/201311/255885.html http://www.cnblogs.com/over140/archive/2 ...
- flask 中 session的源码解析
1.首先请求上下文和应用上下文中已经知道session是一个LocalProxy()对象 2.然后需要了解整个请求流程, 3.客户端的请求进来时,会调用app.wsgi_app(),于此此时,会生成一 ...
- centos配置虚拟主机virtualhost,让服务器支持多网站多域名(转)
如何让centos(redhat)配置虚拟主机,让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可. 里面有个exampl ...
- TPS70345 (ACTIVE) 双路输出低压降 (LDO) 稳压器
The TPS703xx family of devices is designed to provide a complete power management solution for TI DS ...
- 向USB设备发送SCSI命令
http://bbs3.driverdevelop.com/simple/?t84347.html { BOOL status = ; DWORD accessMode = , shareMode = ...
- 3D单机游戏《天鹰教》源码发布(二)
3D单机游戏<天鹰教>源码发布 作者 作者: 游蓝海 博客: http://blog.csdn.net/you_lan_hai mail: you_lan_hai@foxmail. ...
- mq刷盘方式
Broker 在收到Producer发送过来的消息后,会存入CommitLog对应的内存映射区中,见CommitLog类的putMessage方法.该方法执行OK后,会判断存储配置中刷盘模式:同步or ...