c语言中 全局变量是不在任何函数之内,全局变量

可以声明全局变量以在函数之间共享数据。全局变量不在任何函数之内,全局变量可在任何地方访问。

示例代码

#include

int count = 0; // 第3行,声明一个全局变量

// 声明函数

void test1(void);

void test2(void);

int main(void)

{

int count = 0; // 第11行,它覆盖了全局count变量

for (; count < 5; ++count)

{

test1();

test2();

}

system("pause");

return 0;

}

// test1函数使用全局变量

void test1(void)

{

printf("test1 count = %d\n", ++count);

}

// test2函数使用全局变量

void test2(void)

{

static int count; // 第三个变量,它隐藏了全局count变量数据

printf("test2 count = %d\n", ++count);

}

执行上面示例代码,得到以下结果:

test1 count = 1

test2 count = 1

test1 count = 2

test2 count = 2

test1 count = 3

test2 count = 3

test1 count = 4

test2 count = 4

test1 count = 5

test2 count = 5

在上面代码中,全局变量count定义如下:

int count = 0; // 第3行,声明一个全局变量

因为它是全局的,所以如果不初始化它将默认初始化为0。第二个变量count是在main()中声明的自动变量:

int count = 0; // 第11行,它覆盖了全局count变量

因为它与全局变量具有相同的名称,所以无法从main()访问全局变量count。局部变量count被隐藏了。第三个变量是在函数test2()中声明的静态变量count:

static int count; // 第三个变量,它隐藏了全局count变量数据

因为这是一个静态变量,所以默认情况下它将初始化为0。

此变量隐藏同名的全局变量count,因此在test2()中只能访问静态变量count。test1()函数使用全局变量count。main()和test2()函数使用局部版本的变量:count。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值