| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 885 人关注过本帖
标题:局部变量和全部变量的区别
只看楼主 加入收藏
feitianshu
Rank: 2
等 级:论坛游民
帖 子:14
专家分:31
注 册:2016-10-18
结帖率:100%
收藏
 问题点数:0 回复次数:4 
局部变量和全部变量的区别
//如果把变量a作为全部变量,能够正常编译通过和输出。这是为什么呢?
程序代码:
#include <stdio.h>

int a;
void initial()
{
    a=3;
}

int main()
{
    initial();
    printf("a=%d\n",a);
}

//如果变量a定义为局部变量就必须要赋初值,这是为什么呢?

程序代码:
#include <stdio.h>

void initial()
{
    int a;
    a=3;
}

int main()
{
    int a;
    initial();
    printf("a=%d\n",a);
}
搜索更多相关主题的帖子: include initial 
2016-11-09 15:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这就是全局变量和局部变量的区别

局部变量 顾名思义 只有声明它的函数本身能使用它  而全局变量 则无论哪个函数都可以使用

DO IT YOURSELF !
2016-11-09 16:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
用你的例子来说  

第一个程序段 中的a 都是一个a  

而第二个程序段里的 此a 非彼a

DO IT YOURSELF !
2016-11-09 16:32
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
收藏
得分:0 
另外,局部变量和全局变量同名时,全局变量会被屏蔽掉
2016-11-10 10:41
夏天的飞鸟
Rank: 2
来 自:海底两万里
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2016-11-4
收藏
得分:0 
你第二个代码,是定义两个不同的a了,一个是initial里面在局部变量a, 和main里面的a。initial里面a的你调用完后没有用返回值的话会释放。然后你main里面的a声明后没有赋值,会使用a原来内存里面残留的值(未知的值)
2016-11-10 10:54
快速回复:局部变量和全部变量的区别
数据加载中...
 
   



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

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