软件工程中有用。用于信息隐藏。也就是说,你编写的模块只有内部可以引用,外部无法修改和查看。比如面向对象的编程中经常有这个概念。还有就是存储类的问题,自动存储类变量在进入声明的块时候生成,在块活动期间存在,退出块的时候删除。反之全局变量和静态变量在整个程序执行期间都可以用。而前者就存在被意外函数访问和修改的危险,最好少用。而生命周期是个时间概念,比如析构函数是对象的生命周期结束时自动调用的,用于销毁函数或类。