|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ static 类型数据的作用范围
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1985
人关注过本帖
标题:
static 类型数据的作用范围
只看楼主
加入收藏
vfdff
等 级:
侠之大者
威 望:
8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:
79.17%
楼主
收藏
问题点数:0 回复次数:6
static 类型数据的作用范围
一直以为static 类型数据只能在本文件中
但是今天发现当某个文件B include 这个文件A(如附件)时,这个文件B也将能使用文件A中的static 类型数据
而且,把他们都添加到工程中,竟然也不出错,没有重复定义问题!!
好奇怪的 static 类型数据 ,到底该怎么理解呢 ??
[[it] 本帖最后由 vfdff 于 2008-12-12 23:40 编辑 [/it]]
testinp.rar
(918 Bytes)
工程构架.JPG
(54.9 KB)
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
搜索更多相关主题的帖子:
include
static
作用域
2008-12-12 23:37
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
2
楼
收藏
得分:0
http://baike.baidu.com/view/536145.htm
百度搜的,希望对您能有些帮助。
2008-12-13 01:23
举报帖子
使用道具
赠送鲜花
woshiyun
等 级:
新手上路
威 望:
2
帖 子:348
专家分:0
注 册:2008-6-16
第
3
楼
收藏
得分:0
1. "static 类型数据只能在本文件中",肯定没有错;
你的程序也肯定没有错。
2. 如果文件test.cpp中include头文件head.h,head.h中申明变量int i,请问int i是不是属于test.cpp的“本文件”?
是的。因为include只是把head.h的内容导入test.cpp,对编译来说,和在test.cpp中重写一遍head.h没有区别。
3. 哪里有问题?你的用法有问题。
static 类型数据只能在本文件中,是说实现文件中定义的数据不可以通过申明文件导出,再给其他实现文件使用。头文件是用来申明数据的,不是用来定义数据的。
真正有用的static,你只可能在.c,.cpp文件中看到。
2008-12-13 08:11
举报帖子
使用道具
赠送鲜花
vfdff
等 级:
侠之大者
威 望:
8
帖 子:2172
专家分:425
注 册:2005-7-15
第
4
楼
收藏
得分:0
回复 第3楼 woshiyun 的帖子
在头文件中定义了 static 类型数据
如果有多个文件包含这个头文件并使用了其中的变量
会不会有冲突呢 ??
~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008-12-15 15:12
举报帖子
使用道具
赠送鲜花
woshiyun
等 级:
新手上路
威 望:
2
帖 子:348
专家分:0
注 册:2008-6-16
第
5
楼
收藏
得分:0
回复 第4楼 vfdff 的帖子
不冲突,每个实现文件中保留自己的数据。
//head.h
static int k=9;
//重申,不要在头文件中定义数据。虽然这样不会有语法错。
void fff();
//cpp2.cpp
#include<stdio.h>
#include"head.h"
void fff()
{
k=0;
printf("%d\n",k);
}
//cpp1.cpp
#include<stdio.h>
#include"head.h"
int main()
{
fff();
printf("%d\n",k);
return 0;
}
以上3个文件。static int k=9;是对的,以为“static 类型数据只能在本文件中” 。如果去掉static就编译错,重复定义了。
2008-12-15 16:39
举报帖子
使用道具
赠送鲜花
嬿·嘄·骊·戨
来 自:天府之国
等 级:
论坛游民
帖 子:84
专家分:25
注 册:2008-10-16
第
6
楼
收藏
得分:0
LS的难道是高手````
解释得很舒服啊``
2008-12-15 19:17
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
static 类型数据的作用范围
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.015341 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved