天天看点

小甲鱼【C语言】《带你学C带你飞》笔记

P31局部变量和全局变量

1、不同函数的变量无法相互访问,for语句里面的i,main函数无法访问,所以程序运行之后after,i依然等于520。

#include<stdio.h>
int main()
{ int i=520;
   printf("before,i=%d\n",i);
   for(int i=0;i<10;i++)
   {
    printf("%d\n",i);
   }

printf("after,i=%d\n",i);
return 0;
}
           

 2、count作为全局变量

小甲鱼【C语言】《带你学C带你飞》笔记
#include<stdio.h>
void a();//void用于函数声明. 没有返回值的函数,其类型为 void
void b();
void c();
int count =0;//count是全局变量,在abc中都可用;
//int count;这个语句也会自动把count初始化为0
void a()
{
    count++;
}
void b()
{
    count++;
}
void c()
{
    count++;
}
int main()
{
    a();//调用前面定义过的函数
    b();
    c();
    b();
    printf("小郭今天被抱了%d次!\n",count);
    return 0;
}
           

3、

小甲鱼【C语言】《带你学C带你飞》笔记
#include<stdio.h>
void func();
int a,b =520;
void func()
{
    int b;//与全局变量b同名,屏蔽全局变量b =520
    //a由于没有在局部变量中定义,就没有同名而言,所以第二次main中a的值被修改
    a=880;
    b=120;//此处的修改不会影响全局变量b =520,所以第二次main中b =520
    printf("In func,a=%d,b=%d\n",a,b);
}
int main()
{
 printf("In main,a=%d,b=%d\n",a,b);//打印出全局变量ab
 func();
 printf("In main,a=%d,b=%d\n",a,b);

return 0;
}
           

继续阅读