存储类说明符 我有点不明白?

T0Ols 2010-12-29 04:50:34
auto这个有啥用的 用处大吗?总有吗? 自动消失
regedit 这个是归入寄存器的。这个我能稍微理解一点。自动消失
static 这个是静变量,只限于本文件中使用。不自动消失
extern 是说明该变量已经在别处声明是吗? 那么如果用extren int a; 但是这个a 又是其他文件中的static int a;那么会怎么样啊?
typedef这个也不理解
请问我该怎么去理解这五个啊?我得先有个模糊的理解含义 才能写关于他们的使用方法代码深入了解啊
...全文
170 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
T0Ols 2010-12-30
  • 打赏
  • 举报
回复
那全局变量也是static[Quote=引用 7 楼 yuppy 的回复:]
static变量 存储在静态内存中, 不属于堆栈, 在程序的整个执行过程中都存在的, auto变量加个static就是静态变量了, 在代码块外部申明的变量也是static的
[/Quote]
qq120848369 2010-12-29
  • 打赏
  • 举报
回复
楼主应该看的书叫做C语言程序设计,或者问个明白人,auto,extern都是些干嘛用的.
Metrosexual 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yangglemu 的回复:]
符号 存储位置 生命周期
static 存储在静态内存中 一直存在,程序结束才结束
auto 存储在堆栈中 超过作用域回收
extern 别的文件中引入的变量 全局变量
register 这个现在基本不使用了

根据变量声明的位置,还有全局变量,局部变量
static的全局变量只在当前文件中有效,在别的文件中不可访问,即使用extern也不能引入
别的文件中声明的全局auto变量,……
[/Quote]
+1
  • 打赏
  • 举报
回复
符号 存储位置 生命周期
static 存储在静态内存中 一直存在,程序结束才结束
auto 存储在堆栈中 超过作用域回收
extern 别的文件中引入的变量 全局变量
register 这个现在基本不使用了

根据变量声明的位置,还有全局变量,局部变量
static的全局变量只在当前文件中有效,在别的文件中不可访问,即使用extern也不能引入
别的文件中声明的全局auto变量,本文件中引入时,用extern表明变量是在别的文件中声明的
yuppy 2010-12-29
  • 打赏
  • 举报
回复
typedef 就是为一些复杂的类型定义 搞个醒目清楚地别名~ 用的时候方便.
yuppy 2010-12-29
  • 打赏
  • 举报
回复
static变量 存储在静态内存中, 不属于堆栈, 在程序的整个执行过程中都存在的, auto变量加个static就是静态变量了, 在代码块外部申明的变量也是static的
yuppy 2010-12-29
  • 打赏
  • 举报
回复
extern 是说明该变量已经在别处声明是吗? 那么如果用extren int a; 但是这个a 又是其他文件中的static int a;那么会怎么样啊?

覆盖呗 ~ 你写段代码试试就可以了..
T0Ols 2010-12-29
  • 打赏
  • 举报
回复
请继续 下一个[Quote=引用 4 楼 yuppy 的回复:]
register 你写错了..提示编译器要将他们放在硬件寄存器中 而不是内存中, 前者的访问效率更高~
[/Quote]
yuppy 2010-12-29
  • 打赏
  • 举报
回复
register 你写错了..提示编译器要将他们放在硬件寄存器中 而不是内存中, 前者的访问效率更高~
就想叫yoko 2010-12-29
  • 打赏
  • 举报
回复
你这几个问题 找书 google 加 写代码试试还快点
yuppy 2010-12-29
  • 打赏
  • 举报
回复
在代码块内部申明的变量, 就是放在堆栈里面的,就叫自动变量auto 一般不用,代码块中的变量申明时默认就是auto
bdmh 2010-12-29
  • 打赏
  • 举报
回复
你还不如去仔细看看教程呢

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧