static用法知道

 

栈区

堆栈增长区

堆区

其他段

.bss段

.data段

.text段

  不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了extern和static关键字。.data .bss与程序同生共死。

1、文件内全局

        exterm全局变量 若无初始化存 .bss段 若有初始化存 .data段 。

         static静态全局变量存位置同上,区别在于只在static所定义文件内使用有效。

2、文件内局部

         普通局部变量 存 栈 ,多次调用时存放不同栈,也可动态分配 存 堆  用完需释放堆!

          static静态局部变量 存 .data ; 只作用域有效,其他函数/源文件不可访问;若未初始化编译器自动赋值0,每次                           调用静态局部变量都是上次调用后的值!

                         3、文件内static函数

                                 尽管另一个.c文件include 含static函数定义.h文件 仍就看不到该static函数

bss段:(Block Started by Symbol)bss segment 静态内存分配    data段:data segment 静态内存分配 代码段(text段): 代码段(code segment/text segment)只读,含字符串常量  堆(heap):由程序员分配释放(UNIX/LINUX系统),存放运行中被动态分配的内存段,大小不固定,可动态扩张或缩减 栈(stack):自动分配释放,栈又称堆栈,先进先出机制,存放程序的局部变量,调用函数时,通过传递参数和返回值等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值