A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 736010695 中级黑马   /  2014-11-16 22:42  /  1265 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
变量根据作用域可分成两类:
1、局部变量
2、全部变量
局部变量:
1、定义:在函数内(代码块)定义的变量叫做局部变量(函数的形参也是局部变量)
2、作用域:从定义变量的那一行开始,到代码块结束
3、生命周期:从定义变量的那行开始,分配存储空间到代码块结束,所占内存被回收
4、没有固定的初始值

全局变量:
1、定义:在函数外面定义的变量叫全局变量
2、作用域:从定义变量那行开始一直到文件结尾
3、生命周期:程序一启动就会分配存储空间,直到程序退出才会被销毁
4、默认的初始值是0
*/

#include <stdio.h>

int b = 0;
int a = 20;//定义在函数外面,属于全局变量

void test()
{
    int a =30;//定义在函数内部,属于局部变量
}

void test2()
{
    b++;
    int i = 0;
    i++;
    printf("b=%di=%d\n", b,i);
}

int main()
{
    printf("a=%d\n", a);//这个输出的是上面的全局变量a=20
    int a = 10;
    printf("a=%d\n", a);//这个输出的是局部变量a=10

    test2();//输出结果是:b=1  i=1
    test2();//输出结果是:b=2  i=1
    test2();//输出结果是:b=3  i=1
    /*原因:b是全局变量,每调用test2修改一下b的值都会储存下来,而i是个局部变量
     每次test运行完变量i也就随着代码块被销毁,所以每次输出都是1*/

    return 0;
}

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

7 个回复

倒序浏览
你 把   技术博客 写在论坛 里面 可以吗??
回复 使用道具 举报
万雷 发表于 2014-11-16 23:35
你 把   技术博客 写在论坛 里面 可以吗??

这个不是技术博客,晚上看的知识点总结下,发到帖子上,方便白天在公司中午休息时浏览下
回复 使用道具 举报
万雷 发表于 2014-11-16 23:35
你 把   技术博客 写在论坛 里面 可以吗??

技术博客不会这么短的,呵呵
回复 使用道具 举报
736010695 发表于 2014-11-17 09:23
技术博客不会这么短的,呵呵

哈哈   这么用功
回复 使用道具 举报
736010695 发表于 2014-11-17 09:22
这个不是技术博客,晚上看的知识点总结下,发到帖子上,方便白天在公司中午休息时浏览下 ...

为你的 努力 点个赞
回复 使用道具 举报
万雷 发表于 2014-11-18 11:13
为你的 努力 点个赞

你是已经考上黑马了?
回复 使用道具 举报
万雷 高级黑马 2014-11-19 12:22:12
8#
736010695 发表于 2014-11-18 13:08
你是已经考上黑马了?

还没有       技术博客  环节了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马