黑马程序员技术交流社区
标题: 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
这个不是技术博客,晚上看的知识点总结下,发到帖子上,方便白天在公司中午休息时浏览下
作者: 736010695 时间: 2014-11-17 09:23
技术博客不会这么短的,呵呵
作者: 万雷 时间: 2014-11-18 11:11
哈哈 这么用功
作者: 万雷 时间: 2014-11-18 11:13
为你的 努力 点个赞
作者: 736010695 时间: 2014-11-18 13:08
你是已经考上黑马了?
作者: 万雷 时间: 2014-11-19 12:22
还没有 技术博客 环节了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |