C 语言中 static 的作用】的更多相关文章

转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0. 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条,分别是: 一是隐藏功能,对于static修饰的函数和全局变量而言 二是保持持久性功能,对于static修饰的局部变量而言. 三是因为存放在静态区,全局和局部的static修饰的变量,都默认初始化为0 下面我逐一给大家介绍: (1)先来介绍它的第一条…
在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是 a.c,另一个是 main.c. 下面是 a.c 的内容: 1.a.c 文件代码 1 char a = 'A'; // global variable 2 void msg() 3 { 4 printf("Hello\…
(1)在函数体内,局部的static变量.生存周期为程序的整个生命周期:作用域却在定义了的函数体内.一个被声明为静态的变量在这个函数被调用过程中维持其值不变.因为它分配在静态存储区域,函数调用结束以后并不释放单元,但是在其他的作用域无法访问.当再次调用这个函数时,这个局部变量还存活,而且用在它的访问空间,因此访问的是上次调用后的值. (2)在文件模块内但在函数体外,一个声明为静态的全局变量可以被模块内的所有函数访问,但不能被模块外其他函数访问,它是一个本地的全局变量,限制静态全局变量的作用域.…
C语言中static用法介绍     对于新手来说,很多东西的用法还不是很清楚,我们今天一起来看看C语言中static用法介绍     1.声明了static的变量称为静态变量,根据作用域的不同又分为静态局部变量与静态全局变量.其中静态局部变量是在函数内声明的static变量,静态全局变量是在函数外声明的static变量.虽然作用域不同,但是都是在编译期间分配内存,使用静态存储的方式(其值存放在静态存储区),在程序整个执行期间都是存在的.它们之间的区别是:     a.静态局部变量的作用域仅限于…
本文转自:http://blog.csdn.net/renren900207/article/details/21609649 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的. 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同…
C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令: 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里. 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量:内核将此段初始化为0. 4)栈——增长方向:自顶向下增长:自动变量以及每次函数调用时所需要保存的信息(返回地址:环境信息). 5)堆——动态存储分. 在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量.…
static的作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c. 下面是a.c的内容 char a = 'A'; // global variable void msg()  {     printf("Hello\n"…
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c. 下面是a.c的内容 char a = 'A'; // global variablevoid msg() {    printf("Hello\n"); } 下面是main.c的内容 i…
C记得还是大一时学的,现在觉得好久没用了,又捧起来看看.今天刚看到有关static关键字,仔细地看了一遍<C和指针>这本书中的解释,现在觉得清楚多了. 首先,我们将static关键字,修饰分为两类,一类是修饰变量,另一类则是修饰函数.下面我就分这两类来阐述下我个人的理解. 一 .修饰变量 static修饰变量我们也分为两类,一类是修饰全局变量,另一类则是修饰局部变量. (1)修饰全局变量 全局变量是不再任何代码块中声明的变量(说直白点就是全局变量时在{}外面声明的变量). 例如: #inclu…
static (计算机高级语言) 编辑 像在VB,C#,C,C++,Java,PHP中我们可以看到static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN.ALGOL.COBOL.BASIC.LISP.SNOBOL.PL/1.Pascal.PROLOG.Ada等语言中也是有出现的,只是有着不同的作用,对于其具体作用,读者有需要的时候是可以具体查阅的.   中文名 static 分    类 关键字 举    例 VB,C#,C,C++,PHP 来    自 高级计算机语言 目录…