zoukankan      html  css  js  c++  java
  • 局部变量的认识

    存储类说明符?

     就是将以前学习的变量和即将要学习的几种变量进行了一个分类。 这四个不同的变量又有 各自的特点,这个特点和它们各自存储的区域有关联的。

    之前讲的内存分区,大概分5种,栈区,堆区,全局静态区, 字符常量区, 代码区

    自动变量存在一个区域,静态变量存在一个区域,不同的内存区域是有不同特点的,比如说栈区,栈区的特点是这段空间由系统申请,由系统释放。完全不用程序员去管,栈区有这样的特点,栈区的变量就有这样的特点。所以之前学的定义一个普通变量 int a,a的这个四字节的空间就是存在于栈区,由系统管理。

    这个a叫栈区变量,也叫自动变量。

    堆区的空间特点:由程序员申请,由程序员释放。当然堆区是不能直接申请成变量的,是需要malloc出一段空间,然后定义一个指针去纪录这个地址。不能直接定义一个堆区的变量!!只能拿到堆区空间的首地址。

    静态变量是放在全局静态区。

    寄存器变量放在寄存器,跟内存没什么关系。

    大致上三类,实际上两类。

    自动变量也叫局部变量也叫栈区变量

    因为a 在{}结束后就立马释放掉了。

     

     这就是a的生命周期,这就是a的作用域。

  • 相关阅读:
    node.js ---path模块
    es6箭头函数this问题
    Codeforces Round #576 (Div. 2) | CF1199 补题
    Hungary
    CF 1196D2 RGB Substring (hard version) --- 前缀和 + 思维
    康托展开
    POJ1821 Fence --- 单调队列 + DP
    素数筛
    自动化接口面试遇到的问题
    linux遇到的面试问题
  • 原文地址:https://www.cnblogs.com/dabing0983/p/10559938.html
Copyright © 2011-2022 走看看