易截截图软件、单文件、免安装、纯绿色、仅160KB

【转】C变量的存储方式

C变量的存储方式-“静态存储”和“动态存储”      变量的存储方式可分为“静态存储”和“动态存储”两种。 静态存储变量通常是在变量定义时就分定存储单元并一直保持不变,直至整个程序结束。全局变量即属于此类存储方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、释放形参变量的存储单元。从以上分析可知,静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。我们又把这种由于变量存储方式不同而产生的特性称变量的生存期。生存期表示了变量存在的时间。生存期和作用域是从时间和空间这两个不同的角度来描述变量的特性,这两者既有联系,又有区别。一个变量究竟属于哪一种存储方式,并不能仅从其作用域来判断,还应有明确的存储类型说明。 在C语言中,对变量的存储类型说明有以下四种: auto       自动变量 register   寄存器变量 extern 外部变量(全局变量) static      静态变量 自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式。在介绍了变量的存储类型之后,可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型。因此变量说明的完整形式应为:       存储类型说明符 数据类型说明符 变量名,变量名… ,例如: static int a,b;        说明a,b为静态类型变量 auto char c1,c2; 说明c1,c2为自动字符变量 static int a[5]={1,2,3,4,5}; 说明a为静整型数组 extern int x,y; 说明x,y为外部整型变量 下面分别介绍以上四种存储类型: 一、自动变量的类型说明符为auto。 这种存储类型是C语言程序中使用最广泛的一种类型。C语言规定,函数内凡未加存储类型说明的变量均视为自动变量, 也就是说自动变量可省去说明符auto。 在前面各章的程序中所定义的变量凡未加存储类型说明符的都是自动变量。例如: { int i,j,k; char c; …… }等价于: { auto int i,j,k; auto char c; …… } 自动变量具有以下特点: 1. 自动变量的作用域仅限于定义该变量的个体内。在函数中定义的自动变量,只在该函数内有效


相关文档:

C井学习

string info ="客户端IP:"+ Page.Request.UserHostAddress;
info += "<br/>用户信息:" + Page.User;
info += "<br/>服务器电脑名称:" + Page.Server.MachineName;
info += "<br/>当前用户电脑名称:" + System.Net.Dns.GetHostName();
info += "<br/>当前电脑名:" + System.Environment.Ma ......

C/C++中使用正则表达式

头文件regex.h中定义了c/c++使用正则表达式的函数: regcomp(), regexec(), regerror(), and regfree() 。regcomp()编译正则表达式,regexec()匹配正则表达式, regfree()释放正则表达式,regerror()报告正则表达式错误信息。使用方法如下代码所示:
static string merge_path(const string bas ......

C盘转换为NTFS格式.

@ ECHO OFF
@ ECHO.
@ ECHO.                          Snlie
@ ECHO ---------------------------------------------------------------
@ ECHO NTFS格式是WinXP推荐使用的格式。转换 ......

继续:C面试题(整理,更新中...)

1.设有以下说明和定义:
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是: ???
答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号