变量的存储类型
来源:互联网 发布:图像处理相关算法 编辑:程序博客网 时间:2024/06/06 02:14
概念
- 作用域:可以被访问的程序范围,由定义变量语句的位置决定
- 生存期:变量从分配空间,到使用,最后释放存储空间的时间段,由其存储类型决定
- 存储类型:自动型(auto)、外部型(extern)、静态型(static)、寄存器型(register)
- 存储方式
- 静态:程序运行期间分配固定的存储空间,程序运行结束后才释放,如全局变量
- 动态:需要使用时才分配存储空间,使用结束后立即释放,如局部变量
- 程序运行时使用的存储空间
- 程序代码区:编译后的指令序列
- 数据静态存储区:全局数据和静态数据
- 数据动态存储区:
- 函数数据:返回地址、CPU现场、形参、临时变量
- 动态内存申请的数据
Tips
- 使用
extern
可将全局变量的作用域扩展到其定义之前或其他源程序文件
extern int a; //a的声明,扩充定义域...int a; //定义
- 外部变量与内部变量同名时,在内部变量的作用域中外部变量被屏蔽
- 静态局部变量(函数内定义的静态变量),在函数调用结束后仍将保留
- 静态变量的缺省值为0
- 可以将频繁使用的局部变量定义为寄存器变量
动态内存分配
void* malloc(unsigned int size)
,函数返回的地址没有表明存储空间的数据类型,必须进行强制类型转换void free(void* p)
,p为最近一次调用malloc()
的返回值
阅读全文
0 0
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- 变量的存储类型
- C 变量的存储类型
- C++变量的存储类型
- 各种变量的存储类型
- c++变量的存储类型
- acmcoder求数列的和
- Linux操作系统命令学习第二天
- Day04 修饰符&内部类
- Python3-axis
- 20170921
- 变量的存储类型
- PHP环境下Memcache的使用方法
- 文章标题
- spark 进程
- acmcoder简单计算
- Unity_FPS游戏_Boss模块流程_01
- 从一个最简单的例子来看Retrofit(一)
- 人生永远没有太晚的开始
- C++动态申请二维数组