欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

局部变量vs全局变量,局部变量打断全局变量的传递!

程序员文章站 2024-02-17 16:27:46
...

全局变量Global Variable

全局变量会降低程序可读性!!!

全局变量作用范围:定义始至文件尾;

全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽。

全局变量增加了程序的耦合度,如果一个全局变量可以被多个

要限制使用全局变量!

局部变量vs全局变量,局部变量打断全局变量的传递!

局部变量Local Variable

不同的函数及作用域中可以使用相同名字的局部变量,它们在内存中分属不同的存储区间,互不干扰。


复合语句的作用

大家都知道  case里边不允许声明变量。。

但是就像声明,而且用完就去掉怎么办??

答案就是:符合语句加局部变量

大括号括起来,里边声明变量,局部变量出作用域,自动释放。

局部变量有神马效果??
局部变量又称为自动变量,就是在栈区的变量,出作用域,会自动释放的变量
效果就是不用你手动去释放变量的空间,出作用域系统会自动释放。。。

与自动变量相对应的是static变量,就是静态变量,它是在全局区的变量,出作用域不会自动释放的变量

/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年7月10日
*版本号:v1.0
*
*问题描:;全局变量vs局部变量!局部变量打断全局变量的传递!
*输入描述:;
*程序输出:;。
*/

#include<stdio.h>
void fun1();
void fun2();
int x=1;//定义x为全局变量
int main()
{
    //int x=1;//此局部变量也会“中断”全局变量的传递!!!
    x++;
    printf("%d\n",x);
    fun1(x);
    printf("%d\n",x);
    fun2(x);
    printf("%d\n",x);
    return 0;
}


/*
定义1
功能:
参数:
返回值:
算法:
*/
void fun1()
{
    //int x=1;//若在此设置局部变量,则仅在此函数中有效,会打断主函数中“全局变量”的传递!!!!
    x+=3;
}
/*
定义2
功能:
参数:
返回值:
算法:
*/
void fun2()
{
    //int x=1;//局部变量
    x+=7;
}



局部变量vs全局变量,局部变量打断全局变量的传递!

局部变量vs全局变量,局部变量打断全局变量的传递!

局部变量vs全局变量,局部变量打断全局变量的传递!

局部变量vs全局变量,局部变量打断全局变量的传递!

相关标签: C