[讨论] c语言中static用法总结2

tiankai001   2014-10-17 15:14 楼主
c语言中static用法总结
本文只是对C++中关于静态类型的一个总结,如错误之处,请大家改正。分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。
一、在面向过程设计中的static关键字 1、静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量(即全局静态变量)。全局静态变量使得该变量成为定义该变量的源文件所独享,也即静态变局变量对组成该程序的其他源文件是无效的。
.........................................................................(详细内容请看EE下载中心的完整文档
二、面象对象中的static关键字(主要指类中的static关键字) 1、静态数据成员 特点:   A、内存分配:在程序的全局数据区分配。   B、初始化和定义:    a、静态数据成员定义时要分配空间,所以不能在类声明中定义。    b、为了避免在多个使用该类的源文件中,对其重复定义,所在,不能在类的头文件中定义。    c、静态数据成员因为程序一开始运行就必需存在,所以其初始化的最佳位置在类的内部实现。   C、特点    a、对相于 public,protected,private 关键字的影响它和普通数据成员一样,    b、因为其空间在全局数据区分配,属于所有本类的对象共享,所以,它不属于特定的类对象,在没产生类对象时其作用域就可见,即在没有产生类的实例时,我们就可以操作它。   D、访问形式    a、 类对象名.静态数据成员名    b、 类类型名:: 静态数据成员名   E、静态数据成员,主要用在类的所有实例都拥有的属性上。比如,对于一个存款类,帐号相对   于每个实例都是不同的,但每个实例的利息是相同的。所以,应该把利息设为存款类的静态数据成员。这有两个好处,第一,不管定义多少个存款类对象,利息数据成员都共享分配在全局区的内存,所以节省存贮空间。第二,一旦利息需要改变时,只要改变一次,则所有存款类对象的利息全改变过来了,因为它们实际上是共用一个东西。 2、静态成员函数
本帖最后由 tiankai001 于 2014-10-17 15:15 编辑

回复评论 (4)

谢谢楼主的总结和分享啊
点赞  2014-10-19 08:35
谢谢分享。。。。。。。。。。。。。。。。
点赞  2014-10-19 08:53
引用: 凤凰息梧桐 发表于 2014-10-19 08:35
谢谢楼主的总结和分享啊

能帮助大家就好哦
点赞  2014-10-19 23:59
谢谢分享
点赞  2014-11-4 09:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复