• 学习第17天


    C语言

    1. 局部变量、

      1. 函数内定义的变量、只能在本函数内使用、

      2. 可以调用其它函数、但是其它函数仍然无法使用调用者的变量、

      3. 不同的函数可以使用相同名称的变量、互补干扰、

      4. 形式参数、也可视为局部变量、

      5. 在复合语句中定义的变量、仅在复合语句中有效、该种复合语句成为——程序块、

        1. {
              int a;
              c=5
          }
          
    2. 全局变量

      1. 函数外定义的变量、

        1. #include<stdio.h>
          int p =1,q = 5;//函数外定义的变量、全局变量
          int main()
              
          {
              
          }
          
      2. 、可以让其它函数共用、

      3. 优点

          	1. 增加了函数与函数之间的数据联系、如果一个函数改变了全局变量的值、就能影响到其它的函数、
                    	2. 相当于各个函数之间有传递的直接通道、不在需要通过实参和形参来传递数值、
        
      4. 缺点

          	1. 全局变量在整个程序的周期运行都占用内存、而不像函数内部的局部变量、用完会被回收
                    	2. 降低了函数的通用性
                    	3. 函数在执行时依赖外部的全部变量
                    	4. 如果程序迁移则需要将外部变量一起迁移
         	2. 降低了程序的清晰性呵呵可读性、
         	3. 
        
      5. 如果某个函数想引用它后面定义的全部变量、则可以用一个关键字——extern——来做一个外部变量说明、表示该变量在函数外部定义、

        1. extern  函数名
          
        2. 相当于提前声明

        3. 也就是一个函数不能使用某一个变量可以在此函数前用exten来声明这个变量、

        4. a函数想使用b函数的局部变量、可以在a函数前使用extern来声明有此函数、便可实现使用b函数的局部变量

        5. 外部变量说明可以多次、而且不分配内存、

        6. extern——仅仅是为了引用变量而做的声明

    3. 局部变量是在函数内定义的变量所以变量的有效域便是整个函数、而全局变量则是在函数外定义所以整个源文件都可以使用这个变量、而程序块则是范围更小的范围内使用变量、所以注意其变量的使用范围便可、

    4. 、全部变量————慎用、

    5. 定义分配内存、声明不分配内存、

    6. 如果全局变量和局部变量同名、则在局部变量使用范围内全局变量不起作用、——全局变量的值也不受其影响、

    7. int	 a = 100, b = 500;//定义
      void c(int a, int b)
      {
      	a = 10;//函数内的变量——局部变量
      	b = 200;//函数内的变量——局部变量
      	printf("a=%d
      ", a);//局部变量的值改变
      	printf("b=%d
      ", b);//局部变量的值改变
      	return;//返回——返回后局部变量的值便没有啦、因为内存的被释放掉啦、
      }
      int main()
      {
      	a = 3;//重新赋值 
      	b = 9;//重新赋值 
      	printf("a=%d
      ", a);
      	printf("b=%d
      ", b);
      	c(a, b);
      	printf("a=%d
      ", a);//不受局部变量的影响
      	printf("b=%d
      ", b);//不受局部变量的影响
      }
      
  • 相关阅读:
    第五次实验作业
    第四次作业
    java三
    java作业二
    java作业一
    作业11
    作业10
    作业9
    作业8
    作业7
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13617622.html
Copyright © 2020-2023  润新知