存储类说明符小总结

存储类说明符共有5个:auto ,extern,static,register,typedef。

typedef本身和内存没有任何关系, 由于一些什么原因,归类到存储类说明符这块了。它就是类型重命名,给类型重新名个名字。

这5个就分了三种空间。

auto是栈区的空间,extern,static是静态存储区的空间,

register是寄存器的空间。

另外存储类说明符在一个变量上不允许出现两个。

解释:如果出现一个auto(存在栈区),又 出现一个extern(全局的,要存在静态存储区) 又存在栈区,又存在静态存储区。这就什么也不是了。

所以 存储类说明符 ,一个变量的修饰只能出现一个。之前演示 register修饰全局变量的时候,全局变量是静态的,存在静态存储区,是extern, 你再register,那么这个变量就有了两种空间 的属性,是不行的

变量只能占一块空间,只能有一种空间的属性

原文地址:https://www.cnblogs.com/dabing0983/p/10573065.html