C语言的五种存储类
来源:互联网 发布:keep软件注册昵称格式 编辑:程序博客网 时间:2024/06/05 17:34
五种存储类
C Primer Plus 第十二章 存储类、链接和内存管理
自动变量
自动变量n,m,i
int loop(int n){ int m; // m 的作用域 scanf("%d", &m); { int i; // m 和 i 的作用域 for (i = m; i < n; i++) puts("i is local to a sub-block\n"); } return m; // m 的作用域, i 已经消失}
寄存器变量
这里写代码片
具有外部链接的静态变量
int Errupt; /* 外部定义的变量 */double Up[100]; /* 外部定义的数组 */extern char Coal; /* 如果Coal被定义在另一个文件, */ /*则必须这样声明*/void next(void);int main(void){ extern int Errupt; /* 可选的声明*/ //引用声明 extern double Up[]; /* 可选的声明*/ ...}void next(void){ ...}
具有内部链接的静态变量
int traveler = 1; // 外部链接static int stayhome = 1; // 内部链接int main(){extern int traveler; // 使用定义在别处的 travelerextern int stayhome; // 使用定义在别处的 stayhome...
具有代码块作用域的静态变量
局部静态变量stay
/* loc_stat.c -- 使用局部静态变量 */#include <stdio.h>void trystat(void);int main(void){ int count; for (count = 1; count <= 3; count++) { printf("Here comes iteration %d:\n", count); trystat(); } return 0;}void trystat(void){int fade = 1;static int stay = 1;printf("fade = %d and stay = %d\n", fade++, stay++);}注意, trystat()函数先打印再递增变量的值。 该程序的输出如下:Here comes iteration 1:fade = 1 and stay = 1Here comes iteration 2:fade = 1 and stay = 2Here comes iteration 3:fade = 1 and stay = 3
注
自动变量:如果未初始化外部变量,别指望这个值是0。可以用非常量表达式 初始化自动变量
int rance = 5 * ruth; // 使用之前定义的变量
外部变量:如果未初始化外部变量, 它们会被自动初始化为 0。与自动变量的情况不同, 只能使用常量表
达式初始化文件作用域变量
int x = 10; // 没问题, 10是常量int y = 3 + 20; // 没问题, 用于初始化的是常量表达式size_t z = sizeof(int); //没问题, 用于初始化的是常量表达式int x2 = 2 * x; // 不行, x是变量
阅读全文
0 0
- C语言的五种存储类
- c语言的存储类
- C的五种存储类别
- C语言里的五种循环
- c语言全局变量的忠告 c语言存储类说明符
- c语言全局变量的忠告 c语言存储类说明符
- c语言存储类
- C语言存储类
- C语言存储类
- C语言的存储类和链接
- da_11 C语言五大内存区及变量的存储类型
- C语言的存储区
- C语言的存储类别
- C语言文件的存储
- C语言--变量的存储
- C语言的存储类型
- C语言的存储类型
- C语言的数据存储
- VR丨有哪些靠谱的VR开发工具之引擎篇
- 现有Android项目引入ReactNative--九步大法
- Android App发布流程----签名
- Dungeon Master BFS
- c++ 总结
- C语言的五种存储类
- Mongodb的那些儿事
- 归并排序算法
- hdu1166敌兵布阵(树状数组模板题)
- 【FFmpeg杂记】音频解码输出PCM格式数据分析
- C++保护成员
- 删除链表中的元素
- 欢迎使用CSDN-markdown编辑器
- 温故而知新,我觉得可以--Python番