C语言中的不同存储类
问题
C语言中有哪些不同的存储类?用程序解释它们?
解决方案
存储类被定义为存在于C程序中的变量或函数的范围和生命周期。
存储类
以下是C中的存储类-
汽车
外部的
静止的
登记
自动变量/局部变量
关键字-自动
这些也称为局部变量
范围-
局部变量的范围在声明它们的块内可用。
这些变量在块内声明
默认值-垃圾值
示例
#include输出结果void main (){ auto int i=1;{ auto int i=2;{ auto int i=3; printf ("%d",i); } printf("%d", i); } printf("%d", i); }
3 2 1
全局变量/外部变量
关键字-extern
这些变量在块外声明,因此它们也称为全局变量
范围-全局变量的范围在整个程序中可用。
默认值-零
示例
#include输出结果extern int i =1; /* this ‘i’ is available throughout program */ main (){ int i = 3; /* this ‘i' available only in main */ printf ("%d", i); fun (); } fun (){ printf ("%d", i); }
31
静态变量
关键字-静态
范围-静态变量的范围是它在整个程序和函数调用之间保留其值。
静态变量只初始化一次。
默认值-零
示例
#include输出结果main (){ inc (); inc (); inc (); } inc (){ static int i =1; printf ("%d", i); i++; }
1 2 3
注册变量
关键字-注册
寄存器变量值存储在CPU寄存器中,而不是存储在普通变量的内存中。
寄存器是CPU中的临时存储单元。
示例
#include输出结果main (){ register int i; for (i=1; i< =5; i++) printf ("%d",i); }
1 2 3 4 5