| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 512 人关注过本帖
标题:关于变量的问题请教下
只看楼主 加入收藏
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
关于变量的问题请教下
变量初始化与在不在编译阶段完成有什么关系吗
搜索更多相关主题的帖子: 关系 
2011-02-28 18:16
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:2 
有些初始化时有必要的,就比如指针int *p=NULL

免费赠送河蟹一只
2011-02-28 18:22
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
变量初始化的话就更不容易出错!这是一个好习惯!

   唯实惟新 至诚致志
2011-02-28 19:16
format123
Rank: 2
等 级:论坛游民
帖 子:35
专家分:60
注 册:2010-11-26
收藏
得分:1 
不初始化的变量使用很容易出错,如造成内存的错误
2011-02-28 19:33
xinhua1413
Rank: 2
等 级:论坛游民
帖 子:40
专家分:16
注 册:2009-4-29
收藏
得分:4 
以初始化的静态变量 和 未初始化的静态变量再磁盘上分区是不同的  初始化的静态变量是可执行模块的一部分 所以编译后初始化的会比没有初始化的大


[ 本帖最后由 xinhua1413 于 2011-2-28 19:47 编辑 ]
2011-02-28 19:44
xinhua1413
Rank: 2
等 级:论坛游民
帖 子:40
专家分:16
注 册:2009-4-29
收藏
得分:8 
第一个是初始化的
int my[50000]={1,2,3,4};
int main()
{
 my[0]=3;
 return 0;
}
第二个是没有初始化的
int my[50000];
int main()
{
 my[0]=3;
 return 0;
}
结果是
  -rwxrwxrwx. 1 root root 207682 2011-02-28 06:42 1
-rwxrwxrwx. 1 root root     61 2011-02-28 06:41 1.c
-rwxrwxrwx. 1 root root   7642 2011-02-28 06:42 2
-rwxrwxrwx. 1 root root     52 2011-02-28 06:42 2.c
明显1要比2 多出200000个字节左右 这好是sizeof(int)*5000
2011-02-28 19:47
xinhua1413
Rank: 2
等 级:论坛游民
帖 子:40
专家分:16
注 册:2009-4-29
收藏
得分:2 
回复 3楼 qq1023569223
不知道我的理解对不对 没有初始化的叫做声明 初始化的叫做定义 ?
定义就会分配空间 这也有弊病吧
2011-02-28 19:51
追寻、梦想
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-2-18
收藏
得分:2 
最好还是初始化一下吧,这样,内存中的数据自己心中有数,否则很可能出错,初始化是一个不错的习惯……
2011-02-28 20:53
快速回复:关于变量的问题请教下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047117 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved