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

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

这5个就分了三种空间。

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

register是寄存器的空间。

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

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

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

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

 

 posted on 2019-03-21 17:24  轻舞飞扬的饼  阅读(267)  评论(0编辑  收藏  举报