数据段,BSS段
int a;//全局未初始化,BSS
int b = 0;//全局初始化为0,data还是bss?
int c = 1;//全局初始化,data
static int d;//静态全局未初始化,bss
static int e = 0;//静态全局变量初始化为0,data还是bss?
static int f = 1;//静态全局初始化,data
int main()
{
int g;//局部未初始化变量,栈,值随机
int h = 0;//局部初始化变量,栈
int i = 1;//局部初始化变量,栈
static int j;//局部未初始化静态变量,bss
static int k = 0;//局部静态变量初始化为0,data还是bss?
static int l = 1;//局部静态变量,data
char *str = "hello";//字符串常量"hello"保存在哪里,data吗?
}后面备注都正确吗?还有对于初始化为0的变量在什么位置不确定
谢谢
...全文
相关推荐
BSS段、数据段、代码段、堆与栈.pdf
### BSS段、数据段、代码段、堆与栈详解#### 一、BSS段**BSS段**(Block Started by Symbol)是程序中用于存放未初始化的全局变量的一块内存区域。
深入C语言内存区域分配(进程的各个段)详解
**BSS段(BSS segment)**:未初始化数据段,存储未初始化的全局变量和静态变量。在程序启动时,BSS段的所有变量会被自动设置为零值。4.
Linux内存管理进程所涉及到的五个数据段
对任何一个普通进程来讲,它都会涉及到五种不同的数据段,这五种数据段分别是:代码段、数据段、BSS 段、堆(heap)和栈。
data,bss ,text,小知识
### 数据段、BSS段、代码段、堆与栈的小知识总结#### 一、BSS段**BSS段**(Block Started by Symbol)主要用来存放程序中未初始化的全局变量,它属于静态内存分配的一部分
SS段、数据段、代码段、堆与栈
与BSS段类似,数据段同样属于静态内存分配,但不同之处在于,数据段在程序运行前就已经确定了其大小,且包含了初始化的数值。


