zoukankan      html  css  js  c++  java
  • 学习第18天

    C语言

    1. 变量的存储类别、

      1. 静态存储变量、——全局变量是静态存储
        1. 程序运行期间有固定存储空间
          2. 动态存储变量、
          3. 存储的内容、
          4. 形参、
          5. 局部变量、
          6. 函数调用时发生的数据和返回地址、
          7. 程序运行期间有根据需要而分配存储空间、
          8. 每次调用函数分配的内存分配都不一定一样、
    2. 局部变量的存储方式、

      1. 函数调用时分配、调用完成后空间会被释放——一般情况下、

        void a()
        {
        	int c = 1;
        	printf("c=%d
        ", c);
        	c++;
        	return;
        }
        int main()
        {
        	a();
            a();
            a();
            a();
            a();
            a();
        }//结果一直是1、
        
      2. 特殊情况——局部静态变量、

        1. 局部静态变量使用——static保留、

        2. void a()
          {
          	static int c = 1;
          	printf("c=%d
          ", c);
          	c++;
          	return;
          }
          int main()
          {
          	a();//返回1
              a();//返回2、因为局部静态变量保留数值、占用储存单元不释放内存
              a();
              a();
              a();
              a();
          }
          
        3. static——将动态变量的存储区域改为静态存储区域???(个人理解或许是错误有待验证)

        4. 局部变量在编译时赋予初值、只赋予一次、程序运行的时候就有值、以后调用时不在重新赋初值而是使用上次调用结束时的值

        5. 定义局部静态变量时如不赋初值时、则自动赋值为0

        6. 普通局部变量不赋初值、则初值为随机内容

        7. 静态局部变量使用结束后期内容仍然保留、且其它函数不能引用该内容、

        8. 缺点、

          1. 占用内存、

    3. 全局变量跨文件引用、

      1. 一个项目中只能有一个main函数

      2. 使用外部全局变量需在头部使用extern 来声明该变量

        1. extern  ........
              .....
              ...
          
      3. 、在全局变量前加上static则该变量只能在本函数内使用、其它函数不能使用、使用extern来声明的话无效、

      4. 全局变量使用时、如果别的函数改变该变量的内容、则该全局变量的内容也会变动

    4. 函数的跨文件调用、

      1. 函数前面加上static、表示该函数是内部函数、静态函数、限制再本函数中使用、可以并存但是内存不同、两个
        1. 两个名称类型相同的函数可以并存、且两个函数互不干扰、——同一个项目下、不同的文件内、
          2. 不用static则是外部函数、也可以加extern 加不加都可以
    5. static关键字用法总结、

      1. 限制该全局变量只能再本函数内使用
  • 相关阅读:
    python模块学习第 0000 题
    报错The VMware Authorization Service is not running
    图像指纹的重复识别
    CSS预编译器配置-------LESS Sass Stylus webstorm
    CSS布局中的水平垂直居中
    进度与日程
    HTML5 application cache
    进度
    CC2530芯片介绍
    Linux命令工具 top详解
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13623993.html
Copyright © 2011-2022 走看看