黑马程序员技术交流社区

标题: 2014.11.16学习小结之全局变量和局部变量 [打印本页]

作者: 736010695    时间: 2014-11-16 22:42
标题: 2014.11.16学习小结之全局变量和局部变量
/*
变量根据作用域可分成两类:
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;
}


作者: 万雷    时间: 2014-11-16 23:35
你 把   技术博客 写在论坛 里面 可以吗??
作者: 736010695    时间: 2014-11-17 09:22
万雷 发表于 2014-11-16 23:35
你 把   技术博客 写在论坛 里面 可以吗??

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

技术博客不会这么短的,呵呵
作者: 万雷    时间: 2014-11-18 11:11
736010695 发表于 2014-11-17 09:23
技术博客不会这么短的,呵呵

哈哈   这么用功
作者: 万雷    时间: 2014-11-18 11:13
736010695 发表于 2014-11-17 09:22
这个不是技术博客,晚上看的知识点总结下,发到帖子上,方便白天在公司中午休息时浏览下 ...

为你的 努力 点个赞
作者: 736010695    时间: 2014-11-18 13:08
万雷 发表于 2014-11-18 11:13
为你的 努力 点个赞

你是已经考上黑马了?
作者: 万雷    时间: 2014-11-19 12:22
736010695 发表于 2014-11-18 13:08
你是已经考上黑马了?

还没有       技术博客  环节了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2