• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗的软件工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

栈上的局部变量与堆上的成员变量

局部变量和成员变量在内存中的存储位置如下:

  1. 局部变量:通常存储在栈(Stack)中。

    • 定义位置:函数内部。
    • 作用范围:仅限于该函数。
    • 生命周期:函数执行完毕即销毁。
    • 特点:访问速度快,生命周期短。
  2. 成员变量:存储在堆(Heap)中。

    • 定义位置:类或结构体内部。
    • 作用范围:整个类或结构体。
    • 生命周期:与类的实例对象相同。
    • 特点:访问速度较慢,生命周期长。

局部变量和成员变量在内存中的存储位置是不同的。局部变量通常存储在栈(Stack)中,而成员变量存储在堆(Heap)中。

  1. 局部变量:局部变量是在函数内部定义的变量,它们的作用范围仅限于该函数。当函数执行完毕后,局部变量会被自动销毁。局部变量的存储空间是在栈上分配的,因此它们的生命周期较短,访问速度较快。

  2. 成员变量:成员变量是类或结构体中定义的变量,它们的作用范围是整个类或结构体。成员变量的存储空间是在堆上分配的,它们的生命周期与类的实例对象相同。当对象被销毁时,成员变量也会被销毁(垃圾回收GC)。由于成员变量的生命周期较长,访问速度相对较慢。

posted on 2024-07-19 12:22  周政然  阅读(107)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3