2025年3月30日 星期日 甲辰(龙)年 月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

关于C语言作用域的两个例子

时间:12-29来源:作者:点击数:118

第一个例子:

  • #include <stdio.h>
  • int a=0; // 全局变量
  • void foo(void);
  • int main(void) {
  • int a=2; // main函数内的局部变量
  • int b=3; // main函数内的局部变量
  • printf("1. main_b = %d\n", b);
  • printf("main_a = %d\n", a);
  • foo();
  • printf("2. main_b = %d\n", b);
  • }
  • void foo(void){
  • int b=4; // foo函数内的局部变量
  • printf("foo_a = %d\n", a);
  • printf("foo_b = %d\n", b);
  • }

输出结果:

1. main_b = 3
main_a = 2
foo_a = 0
foo_b = 4
2. main_b = 3

第二个例子:

  • #include <stdio.h>
  • int x = 2;
  • int y = 3;
  • int z = 4;
  • void moo(int x, int *y){
  • int z;
  • x = x+3;
  • *y = *y+3;
  • z = z+3;
  • /**
  • * 这里的 z 是局部变量。
  • * 注意:z 没有被手动初始化。
  • * 不过从后面的输出结果可以看出,z 被编译器自动初始化为 0。
  • * 一般情况下,编译器会有一个警告,告诉你 z 没有被初始化
  • **/
  • printf("moo : x = %1d, *y = %1d, y = %1d, z = %1d\n", x,*y,y,z);
  • }
  • int main(void){
  • moo(x, &y);
  • printf("main: x = %1d1, y = %1d, z = %1d\n", x,y,z);
  • }

输出结果:

moo :  x = 5, *y = 6, y = 1073742056, z = 3
main: x = 21, y = 6, z = 4
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门