|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ [求助]新手的简单问题-----关于static的用法
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1417
人关注过本帖
标题:
[求助]新手的简单问题-----关于static的用法
只看楼主
加入收藏
a19870502
等 级:
新手上路
帖 子:114
专家分:0
注 册:2007-10-31
结帖率:
100%
楼主
收藏
问题点数:0 回复次数:9
[求助]新手的简单问题-----关于static的用法
#include <iostream>
using namespace std;
void fun(void){
static int a=10;
a++;
}
int main(){
for(int i=0;i<5;i++)
cout<<a++<<endl;
return 0;
}
static不是说有全局变量的用法吗?那为什么编译的时候会提示说没有声明a呢?
麻烦各位啦。
搜索更多相关主题的帖子:
static
用法
简单问题
2007-12-05 20:55
举报帖子
使用道具
赠送鲜花
blueboy82006
来 自:幻想世界
等 级:
贵宾
威 望:
16
帖 子:1227
专家分:57
注 册:2007-7-23
第
2
楼
收藏
得分:0
#include <iostream>
using namespace std;
static int a=10;
void fun(void){
a++;
}
int main(){
for(int i=0;i<5;i++)
cout<<a++<<endl;
return 0;
}
这样就可以,不清楚你那个fun函数是干什么用的,没有调用...
[[italic] 本帖最后由 blueboy82006 于 2007-12-5 22:20 编辑 [/italic]]
无
2007-12-05 22:09
举报帖子
使用道具
赠送鲜花
blueboy82006
来 自:幻想世界
等 级:
贵宾
威 望:
16
帖 子:1227
专家分:57
注 册:2007-7-23
第
3
楼
收藏
得分:0
执行不到这句哦,static int a=10;
无
2007-12-05 22:10
举报帖子
使用道具
赠送鲜花
leeco
等 级:
贵宾
威 望:
10
帖 子:1029
专家分:177
注 册:2007-5-10
第
4
楼
收藏
得分:0
static变量的生存周期是全局的,但并不是全局可见,如果要在外部访问可以通过指针。
但为什么要这么做呢?
2007-12-06 12:52
举报帖子
使用道具
赠送鲜花
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
5
楼
收藏
得分:0
static前缀只是说明定义的变量在整个程序运行周期都存在。
举个简单例子:
int main()
{
while(1)
{
foo();
...
}
}
void foo(void)
{
static int a=0;
a++;
}
foo()定义了一个static int型的变量a,如果不加static前缀,则视其为自动变量,也就是说,每次运行到这里的时候,都会给a赋值0。
main()函数中循环调用了foo(),
第一次call foo()时,初始化a=0;
第二次call时,因为a是static int型的,故不再重复初始化,可认为跳过 static int a=0; 这条语句直接进入下条语句。
2007-12-06 16:15
举报帖子
使用道具
赠送鲜花
a19870502
等 级:
新手上路
帖 子:114
专家分:0
注 册:2007-10-31
第
6
楼
收藏
得分:0
原帖由 [bold][underline]lonmaor[/underline][/bold] 于 2007-12-6 16:15 发表 [url=http://bbs.]
" border="0" />[/url]
static前缀只是说明定义的变量在整个程序运行周期都存在。
举个简单例子:
int main()
{
while(1)
{
foo();
...
}
}
void foo(void)
{
static int a=0;
a++;
}
foo()定义了一个static int型的变量a,如果不加 ...
那是不是就是说如果在main()中输出a的值,a只会等于0?
2007-12-06 22:09
举报帖子
使用道具
赠送鲜花
a19870502
等 级:
新手上路
帖 子:114
专家分:0
注 册:2007-10-31
第
7
楼
收藏
得分:0
原帖由 [bold][underline]blueboy82006[/underline][/bold] 于 2007-12-5 22:09 发表 [url=http://bbs.]
" border="0" />[/url]
#include
using namespace std;
static int a=10;
void fun(void){
a++;
}
int main(){
for(int i=0;i
我只是想知道用了static修饰的变量的可见性同生存期是怎么一回事而已~~~谢谢。
2007-12-06 22:11
举报帖子
使用道具
赠送鲜花
chengyukyo1
等 级:
新手上路
帖 子:50
专家分:0
注 册:2007-10-18
第
8
楼
收藏
得分:0
看c语言p 181 页谢谢 系统学下下把
2007-12-07 20:29
举报帖子
使用道具
赠送鲜花
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
9
楼
收藏
得分:0
5#发的程序段你循环5次试下。
第一次循环,a=0,第二次循环,不再对a进行初始化,a=1。。。
如果没有加static,再试一次,看看结果有什么不同。
2007-12-07 21:17
举报帖子
使用道具
赠送鲜花
a19870502
等 级:
新手上路
帖 子:114
专家分:0
注 册:2007-10-31
第
10
楼
收藏
得分:0
多谢各位!!!
2007-12-10 13:04
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
[求助]新手的简单问题-----关于static的用法
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.038604 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved