CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

关于全局变量和局部变量初试值的问题

楼主magicdigua(潘振宇)2006-03-21 09:46:36 在 C/C++ / C语言 提问

如果全局Long变量 L 在只申明而不初始化赋值的时候默认是0  
  然而局部Long变量       L     在只申明而不初始化赋值的时候默认是-858993460  
   
  想知道为什么。请不要认为我的问题无聊,这里只是考虑为什么会这样。  
   
  环境是Windows2000+VC6.0  
  问题点数:20、回复次数:9Top

1 楼ydfivy(我就是一送外卖的)回复于 2006-03-21 09:48:47 得分 5

全局变量在进入函数入口之前.运行期函数会为其初始化.  
  而局部变量是程序员来赋初值.  
  Top

2 楼expert2000(ZLX)回复于 2006-03-21 09:52:10 得分 2

楼上正解Top

3 楼zez(思恩 闭关练功ing...)回复于 2006-03-21 09:59:38 得分 2

然而局部Long变量   L   在只申明而不初始化赋值的时候默认是-858993460  
   
  默认值是随机的!!!  
   
  局部变量仅仅是分配了一块内存,原来内存里是多少,这个变量值就是多少!!Top

4 楼magicdigua(潘振宇)回复于 2006-03-21 11:02:57 得分 0

局部变量 为什么没有初始化的情况下面是-858993460?不仅仅只是随机啊,我测试了几台机器都是这样的。Top

5 楼magicdigua(潘振宇)回复于 2006-03-21 11:04:42 得分 0

呵呵,能不能想办法查到原先那块内存到底存储了什么?为什么总是-858993460啊。Top

6 楼haha168_2002(啥时候我能成为高手啊?)回复于 2006-03-21 11:12:09 得分 5

书上说:  
          编译器不会自动将局部变量初始化为0,如果你在定义局部变量时没有对它进行初始化,则他的值是不确定的。我的编译器显示为:575Top

7 楼duduhaha(三人行必有我师)回复于 2006-03-21 11:17:18 得分 2

嗯.随机的.Top

8 楼jsjjms(专心研究嵌入式)回复于 2006-03-21 11:19:15 得分 2

随机的。Top

9 楼terryjwf(开大奔的帅哥)回复于 2006-03-21 11:24:39 得分 2

全局变量是在内存的全局区分配的,由编译器自动初始化为0;  
  局部变量在内存的栈区中分配的,由用户自己负责初始化,如果用户没有初始化,就会由编译器初始化一个随机数;  
  Top

相关问题

  • 全局变量和静态局部变量有什么区别?
  • 局部变量和全局变量的问题
  • windows server 2003+ vc 6.0 vs 局部变量和全局变量
  • 】】】全局变量与局部变量的疑惑!!!【【【
  • 关于全局变量,main()中局部变量与函数参数的问题
  • 如何在函数中访问被局部变量覆盖的全局变量
  • 关于局部变量!!!
  • 局部变量与栈
  • 全局变量、静态变量、局部变量各存在内存的什么区域呀
  • 谁有全局变量,局部变量说明变量的生命周期的典型代码例子。

关键词

  • 编译器
  • 内存
  • 局部变量
  • 初始化
  • 变量
  • 全局
  • 申明
  • 分配
  • 赋值的时候默认
  • long

得分解答快速导航

  • 帖主:magicdigua
  • ydfivy
  • expert2000
  • zez
  • haha168_2002
  • duduhaha
  • jsjjms
  • terryjwf

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo