-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
C语言存储期的简单比较
一.对于statis 与 auto 的区别?
1.在内存中的存储区域不一样,(静态存储区与动态存储区)
2.Statis生命周期不一样,整个运行过程期间不释放Auto 什么时候调用什么时候分配,调用结束释放
3.如果不赋予初值的话:statis默认初值0和\0,auto不确定
4.statis每次函数调用时不再重新赋初值,保留上次函数调用结束的值。Auto每次调用执行一次原有的赋值语句
5.statis局部变量,虽然存在于整个程序运行期间,但是由于局部限制,只能被本函数使用,不能被其他函数调用。
二.Registerde 的概述
对于使用频繁地变量,计算机会自动识别,并存放在内存中,因而对人为声明的必要性不大
三.Extern 的概述
1.可以在一个文件内扩展外部变量的作用域,
2.可以将外部变量的作用域扩展到其他文件