Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735301
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:39:55

  前言:
 
  本文只是本人对中关于静态类型的一个总结,如错误之处,请大家帮我改正。我分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。
 
  一、在面向过程设计中的static关键字
 
  1、静态全局变量
 
  定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。
 
  特点:
 
  A、该变量在全局数据区分配内存。
 
  B、初始化:如果不显式初始化,那么将被隐式初始化为0.
 
  C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。
 
  例(摘于程序设计教程——钱能主编P103):
 
 //file1.cpp   
#include
void fn();
extern int n;
void main()
{
  n=20;
  cout << n << endl;
  fn();
}
//file2.cpp
#include
static int n; //定义静态全局变量,初始化为0;
void fn()
{
  n++;
  cout << n << endl;
}


  文件分别编译能通过,但连接时file1.cpp 中的变量n找不到定义,产生连接错误。
 
  D、文件作用域下声明的const的常量默认为static类型。

[1]   

【责编:huangchunmei】

--------------------next---------------------

阅读(403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~