在c语言中,变量也是有自己的属性的。C语言为变量提供了4种属性
auto,register,extern,static;
接下来进行详细说明
1 。
auto
auto在C语言中为局部变量的默认属性、
auto表明变量储存在栈上
编译器默认所有局部变量为auto的;
2 。register
register将局部变量储存于寄存器中
register只是请求,不一定能成功
register的值必须是寄存器能接受的值
register的变量不能用&取得地址
注意register的变量不能是全局变量
register变量的原因:寄存器效率非常快,c语言设计者为了效率设计了register。
static
static关键字表明变量带有静态属性;
static修饰的变量存储于静态存储区
static还具有作用域限定的作用
static修饰的变量只能在声明的文件中进行访问
static修饰的函数也只能在声明的文件中进行访问
static修饰的变量具有全局生命周期;
extern
extern告诉编译器变量是在文件的其他地方分配空间
extern告诉编译器函数是在文件的其他地方定义
使用如下
extern int add(void);
int main()
{
//code
return 0;
}
int add(void)
{
return 15;
}
学习交流群199546072