1.静态存储区 内容 : 静态存储区用于存储程序的静态局部变量 和 全局变量 ; 2.静态存储区大小 : 在程序编译阶段就可以确定静态存储区大小了, 将静态局部变量和全部变量 的大小相加即可 ; 3.静态存储区 生命周期 : 程序开始运行时分配静态存储区, 程序运行结束后释放静态存储区 ; 4.静态局部变量 : 静态局部变...
编译器编译时即分配内存,全局变量和静态变量的存储是放在一块的。C语言中,已初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 全局区由 .bss段 和 .data段组成,可读可写。 .bss段 未初始化的全局变量和未初始化的静态变量存放在.bss段。 初始化为0的全...
1、静态存储区 静态存储区分为三类:只读数据区(RO Data)、已初始化读写数据区(RW Data)、未初始化读写读写数据区(BSS)。这三类存储区都是在程序的编译-连接阶段确定的,且运行过程中是不会变化的,只有当程序退出的时候,静态存储区的内存才会被系统回收。 2、动态存储区 动态存储区主要分为两类:一类是栈(Sta...
4. 全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。 5. 常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多),比如字...
-静态区(static):全局变量存储,在程序的整个生命周期都存在 -栈区(stack):局部变量存储(自动,连续的内存) -堆区(heap):动态存储(非常大的内存池,非连续分配) 静态内存区 静态内存在程序的整个生命周期都存在,而且通用用来存储全局(global)变量,或者通过static关键字创建的变量。举例来讲: ...
栈区(stack):存放函数形参和局部变量(auto类型),由编译器自动分配和释放 堆区(heap):该区由程序员申请后使用,需要手动释放否则会造成内存泄漏。如果程序员没有手动释放,那么程序结束时可能由OS回收。 全局/静态存储区:存放全局变量和静态变量(包括静态全局变量与静态局部变量),初始化的全局变量和静态局部变量放在一...
全局/静态存储区:全局变量,静态变量分配到该区,到程序结束时自动释放,包括DATA段(全局初始化区)与BSS段(全局未初始化段)。其中,初始化的全局变量和静态变量存放在DATA段,未初始化的全局变量和静态变量存放在BSS段。BSS段特点:在程序执行前BSS段自动清零,所以未初始化的全局变量和静态变量在程序执行前已经成为0。
常量通常使用const关键字定义,并分配在静态存储区。 示例代码: #include <stdio.h> const int constVar = 40; // 常量 int main() { printf("常量constVar的值为:%d\n", constVar); return 0; } 二、动态存储方式 动态存储方式是指在程序运行时根据需要动态分配和释放内存空间的存储方式。动态存储方式...