幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2161|回复: 1

[通用编程] 关于static

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-8-13 16:00:59 | 显示全部楼层 |阅读模式
#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的一个例子,想问例子的意思, 但例子却是运行不了的.............[s:5]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-8-13 18:56:46 | 显示全部楼层
static 是個好東西,代表無論你執行多少遍,static變數的體憶體位置也是不變的
一般的變數在運行子程序後,重新執行時的值和上一次運行完的值是沒關係的
但static 過後,varfunc行了第一次,static_var由0轉成1
第二次是,由於記憶體位置不變,一開次static_var的內容便會是1而不是0
這個在類別(class)的應用中是十分重要的

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-4 00:11 , Processed in 0.020280 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表