c语言内存管理

  1. 局部变量 auto自动变量,

    • 函数内有效
    • 没有赋初值,内容为随机
  2. 静态(static)局部变量

    • 函数内有效
    • static局部变量生命周期和程序运行周期一样,只初始化一次,可以赋值多次
    • 如未赋值,系统自动赋值,数值型为0;字符为空字符。
  3. 全局变量

    • 函数外定义,若其他文件中的函数调用此变量,须用extern声明
    • 全局变量的声明周期和程序运行周期一样
    • 不同文件的全局变量不可重名。
  4. 静态(static)全局变量

    • 函数外定义,作用范围被限制在所定义的文件中
    • 不同文件静态全局变量可以重名,作用域不冲突
    • static全局变量的生命周期和程序运行周期一样,static全局变量的值只初始化一次。
  5. extern全局变量声明
    extern int a 声明一个变量,

  6. 全局函数和静态函数

    在C语言中函数默认都是全局的,使用关键字static可以将函数声明为静态,函数定义为static就意味着这个函数只能在定义这个函数的文件中使用,在其他文件中不能调用,即使在其他文件中声明这个函数都没用。

内存分区, 预处理,编译,汇编,链接,生成一个二进制可执行程序。

  • 代码区
  • 全局初始化数据局/静态数据区(data段)
  • 未初始化数据区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值