C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

一、面向过程设计中的static
1、静态全局变量
在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:

复制代码代码如下:

//Example 1
#include <iostream.h>
void fn();
static int n; //定义静态全局变量
void main()
{
n = 20;
cout<< n <<endl;
fn();
}

void fn()
{
n++;
cout<< n <<endl;
}

静态全局变量有以下特点
该变量在全局数据区分配内存;