zoukankan      html  css  js  c++  java
  • C语言基础:C语言变量类型

    前言

    何为变量? 在我们之前学到的知识里面, 定义过很多变量, 比如int 变量, double变量, long变量, 这些都是属于变量, 这次我们所说的知识是在这些变量的基础上再添加一些知识, 那就是全局变量以及局部变量.


    开始

    我们来看一个小例子:

    #include <stdio.h>
    
    int a;
    
    void test()
    {
        int a = 20;
    
        printf("a = %d
    ", a);
    }
    
    int main()
    {
        printf("a = %d
    ", a);
        
        int a = 10;
        a++;
        printf("a = %d
    ", a);
        
        test();
    }

    输出结果:



    这里解释一下, 上面三个的a为什么会输出不同的值:

    第一个a, 在定义的时候, 并没有把他放入任何一个函数里面, 这也是全局变量的定义方式, 而全局变量在定义的时候, 如果你没有给它赋值, 那么默认都是0, 所以输出是0;

    第二个a, 定义在main函数里面, 并且赋值为10, 再++, 那a的值就是11, 所以输出的值是11;

    第三个a, 定义在test函数里, 并且赋值为20, 所以输出的值为20;

    PS:这一点很重要, 虽然这三个a都是同类型的变量, 但它们的作用域不同, 所以互不影响.


    下面是局部变量和全局变量的解释:

     1.局部变量:

     1> 定义:在函数(代码块)内部定义的变量(包括函数的形参)

     2> 作用域:从定义变量的那一行开始,一直到代码块结束

     3> 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收

     4> 没有固定的初始值

     

     2.全局变量

     1> 定义:在函数外面定义的变量

     2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享)

     3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁

     4> 默认的初始值就是0


  • 相关阅读:
    @RequestParam方式传入list
    编写优美代码的七条规范(Python版)
    汇编程序设计入门
    CSP-S2020解题报告(待完成!)
    [USACO18JAN]MooTube
    DP优化
    AFO记
    考前总结
    清北学堂周末刷题班第五场
    清北学堂考前综合刷题班第四场
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282887.html
Copyright © 2011-2022 走看看