Unix环境高级编程

来源:互联网 发布:山东理工大学知乎 编辑:程序博客网 时间:2024/05/17 03:38

1、C存储空间布局

size 命令,可以报告正文段,数据段和bss段的长度。

size a.out

2、自动变量

自动变量,只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收是由系统自动完成的。一般情况下,不作专门说明的局部变量,均是自动变量。自动变量也可用关键字auto作出说明。例如:
void f()/**/
{/**/
auto int c=3;/*c为自动变量*/
int x=2;/*x未说明存储类型,则为缺省类型(自动)*/
}/**/
自动变量只有3种存储方式,分别是存储在数据段或bss段(静态局部变量);存储在寄存器里(寄存器变量);存储在栈中(一般自动变量)。由于绝大多数自动变量从存储在栈中,所以自动变量的作用域往往只在函数内,起生命周期也往往只持续到函数调用的结束。

0 0