august 发表于 2007-8-13 16:00:59

关于static

#include "stdio.h"
varfunc()
{
int var=0;
static int static_var=0;
printf("\40:var equal %d \n",var);
printf("\40:static var equal %d \n",static_var);
printf("\n");
var++;
static_var++;
}
void main()
{int i;
 for(i=0;i<3;i++)
  varfunc();
}
看到关于STATIC的一个例子,想问例子的意思, 但例子却是运行不了的.............

coolpay64 发表于 2007-8-13 18:56:46

static 是個好東西,代表無論你執行多少遍,static變數的體憶體位置也是不變的
一般的變數在運行子程序後,重新執行時的值和上一次運行完的值是沒關係的
但static 過後,varfunc行了第一次,static_var由0轉成1
第二次是,由於記憶體位置不變,一開次static_var的內容便會是1而不是0
這個在類別(class)的應用中是十分重要的
页: [1]
查看完整版本: 关于static