变量和内存总结

本文介绍了C/C++中`static`关键字的作用,包括改变变量生命周期和作用域。讲解了全局变量、局部变量、静态局部变量以及 extern 变量的概念。强调了全局变量和局部变量的内存分配,如全局变量和静态变量存储在全局变量区,局部变量存储在栈上,并提到了内存泄漏问题。还讨论了同名全局和局部变量的优先级问题以及静态变量的默认初始化值为0。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static:改变变量或者函数的生命周期,作用域,默认值,链接属性
extern int aaa;//extern 说明这个变量在其他文件里存在

#include"abcd" 自己写的头文件用" "

全局变量:定义在函数外面的变量,尽量少使用;

局部变量:定义在函数内部的变量,包括形参;

static:静态关键字.可以用来修饰全局变量,局部变量(不能修饰形参)和函数.

变量总结

   内存块划分              

     

代码段:存放程序的代码;

全局(静态)变量区:存放全局变量和静态 变

    量

:存放局部变量,系统自行管理该内存,内

    存区域小,Windows默认1M.

:动态内存区域,内存区域大,需要由程序

    自行管理内存,使用后一定要释放,否则

    出现内存泄漏.

:全局(静态)变量区默认初始值为0

         全局变量统一放在全局变量区

 局部变量无链接属性。

 普通局部变量:不给初始值则默认值为随机值

                                     

当 int a=0;

 

 静态局部变量:static改变了函数生命周期

不给static int a=0;打印的结果不变;说明静态局部变量的默认值为0 

 

 全局变量

如果全局变量和局部变量同名,一般采取就近原则,如图abc打印值为333,而不是111 

 全局变量默认值为0;

 例:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值