全局变量与局部变量


局部变量:在局部代码块内定义;

作用域在局部代码块内,生命周期在局部代码块内,结束时销毁。

#include  <stdio.h>

void test()
{
  int num=0;//num是局部变量
  num ++;
  printf ("%d\n",num)
}
int main()
{
  int i=0;
 for(i=0;i<10;i++)
{
  test ();
}
return 0;
}
输出:1111111111

全局变量:在所有代码块外定义;

作用域是整个工程,生命周期程序开始至结束。

工程test 10_10
源文件sum.c
int g_val=2017;

源文件test.c
#include  <stdio.h>
extern int g_val;

int main()
{
 printf("%d\n",g_val);
 return 0;
}

输出2017

static修饰的变量:
(1).修饰的局部变量改变生命周期,即局部代码块内创建的变量不被销毁

#include  <stdio.h>
void test()
{
  static int num=0;
  num ++;
  printf ("%d\n",num)
}
int main()
{
  int i=0;
 for(i=0;i<10;i++)
{
  test ();
}
return 0;
}
输出结果:1111111111

(2).修饰的全局变量改变作用域,只可在自己的源文件内部使用。
代码:

工程test 10_10
源文件sum.c
static int g_val=2017;

源文件test.c
#include  <stdio.h>
extern int g_val;

int main()
{
 printf("%d\n",g_val);
 return 0;
}
编译出错








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值