1.auto的特点:
现有如下的一个函数
void some()
{
auto int b,c=3;
}
此时,当该函数被调用时,由系统动态地分配存储单元,执行完后,自动释放b,c所占的存储单元
2.static的特点:
①static定义的变量属于静态存储类别,在程序运行时由系统分,在整个运行区间都不释放。
②静态局部变量在运行过程中只赋一次初值,而其他方式如在函数内部定义的自动变量,则是每调用一次函数赋值一次。
③编译时系统会自动给静态变量赋值0或者空字符(视变量类型而定),而自动变量的初值是未知的。
④static声明的某些外部变量只能被当前的.c文件所调用,而其他的外部.c文件即使使用extern声明也不能调用
3.register的特点:
直接将动态局部变量的值放在了cpu的寄存器中,可以极大提高运行效率
4.const的特点:
const翻译过来是常量的意思,在我看来,只读的属性是它最重要的,只可读,不可写。