C语言中static 和 extern用法
来源:互联网 发布:圆方拆单软件破解版 编辑:程序博客网 时间:2024/05/24 00:31
C语言中每一个变量和函数都有两个属性
1:数据类型
2:存储类别
/*****************/
/****** 变量 *****/
/*****************/
对于存储类别,分为静态存储和动态存储
首先static 修饰的变量存于静态存储区
static 修饰局部变量,则局部变量整个运行期间都存在,且只初始化一次,存在于静态存储区
static 修饰全局变量,则全局变量作用范围只能在本源文件,别的源文件可用此全局变量名定义新的变量
extern 是对全局变量作用范围的扩展
extern 扩展本源文件中的全局变量到本源文件,在文件开头[extern 变量名],则作用范围扩展到整个本源文件 [如在定义全局变量前想用此变量]
extern 扩展本源文件中的全局变量到整个工程文件,哪个文件需要,只要在文件中[extern 变量名]就可以
/*****************/
/****** 函数 *****/
/*****************/
函数本质上是全局的,但是可以指定函数不能被其他源文件调用,根据函数是否能被其他源文件调用,将函数分为内部函数和外部函数
内部函数(静态函数):在定义函数时,在函数名和函数类型前加static即可,此函数只在本源文件有作用,其他源文件可有重名函数
外部函数:在定义函数时,在函数名和函数类型前加extern,则表示此函数是外部函数,可供其他文件调用,在其他文件中要调用此函数,用extern对函数进行声明[extern 函数原型]即可
1:数据类型
2:存储类别
/*****************/
/****** 变量 *****/
/*****************/
对于存储类别,分为静态存储和动态存储
首先static 修饰的变量存于静态存储区
static 修饰局部变量,则局部变量整个运行期间都存在,且只初始化一次,存在于静态存储区
static 修饰全局变量,则全局变量作用范围只能在本源文件,别的源文件可用此全局变量名定义新的变量
extern 是对全局变量作用范围的扩展
extern 扩展本源文件中的全局变量到本源文件,在文件开头[extern 变量名],则作用范围扩展到整个本源文件 [如在定义全局变量前想用此变量]
extern 扩展本源文件中的全局变量到整个工程文件,哪个文件需要,只要在文件中[extern 变量名]就可以
/*****************/
/****** 函数 *****/
/*****************/
函数本质上是全局的,但是可以指定函数不能被其他源文件调用,根据函数是否能被其他源文件调用,将函数分为内部函数和外部函数
内部函数(静态函数):在定义函数时,在函数名和函数类型前加static即可,此函数只在本源文件有作用,其他源文件可有重名函数
外部函数:在定义函数时,在函数名和函数类型前加extern,则表示此函数是外部函数,可供其他文件调用,在其他文件中要调用此函数,用extern对函数进行声明[extern 函数原型]即可
0 0
- c语言中static用法和extern
- C语言中static 和 extern用法
- c语言中static 用法和extern
- c语言中static和extern的用法详细解析
- c语言中static和extern的用法详细解析
- C语言中static和extern比较
- c语言中static和extern关键字
- 【static&extern】c语言static用法
- C语言中static,extern,volatile的用法
- C语言中static与extern的用法
- C语言中static与extern的用法
- c语言中auto、register、extern、static用法
- C语言extern和static
- C语言extern和static
- 【转】c语言static和extern的用法
- C语言中的extern,static和register的一些用法
- C语言中static和extern用法的一个小细节
- c/c++中static和extern用法和区别
- python-lxml的系统依赖项
- 96. 必须在乎你的代码
- 笔记35--调用相机和相册
- 月球美容计划之最小生成树(MST)
- hdu_1062 Text Reverse(水题)
- C语言中static 和 extern用法
- 独木舟问题
- html5 返回当前地理位置的坐标点(经纬度)
- 微信传过来的时间是距1970年的秒数,而不是毫秒数
- 转载关于视觉SCI期刊
- #模糊相似矩阵到模糊等价矩阵(opencv实现)
- 【公告】hex工作室博客转移
- 函数传参问题(Java复习三)
- 一个多层HMM模型