2994|4

6366

帖子

4914

TA的资源

版主

楼主
 

c语言中static用法总结2 [复制链接]

  本帖最后由 tiankai001 于 2014-10-17 15:15 编辑

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、静态成员函数



最新回复

谢谢分享  详情 回复 发表于 2014-11-4 09:16
点赞 关注(1)
 
 

回复
举报

3028

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
谢谢楼主的总结和分享啊
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢分享。。。。。。。。。。。。。。。。
 
 
 

回复

6366

帖子

4914

TA的资源

版主

4
 
凤凰息梧桐 发表于 2014-10-19 08:35
谢谢楼主的总结和分享啊

能帮助大家就好哦
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
谢谢分享
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表