C语言中变量的生命周期

163 阅读1分钟

变量生命周期的分类

  1. 静态生命周期
  2. 自动生命周期
  3. 动态分配生命周期

静态生命周期

静态生命周期具有外部或内部链接属性,在程序开始执行时分配和初始化一次,之后一直存在到程序运行结束。改变量位于.rodata(常量区), .data(全局变量区), .bss(未定义初始化或默认为0的全局变量区)段

自动生命周期

自动生命周期链接属性为无链接并且没有被static修饰的变量,这种变量进入块作用域时在栈或寄存器中分配,在退出块作用域时释放,如在函数中声明的变量。

动态分配生命周期

动态分配生命周期是指在堆中分配的内存,