
C\C++
iteye_4718
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
静态局部变量
静态局部变量的说明:1) 静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,占动态存储空间,函数调用结束后即释放。2) 静态局部变量在编译时赋初值,即只赋初值一次;而对自动变量赋初值是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。3) 如果在定义局部变量时不赋初值的话,则对...原创 2011-07-14 15:33:47 · 636 阅读 · 0 评论 -
register 变量
为了提高效率,C语言允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。 1) 只有局部自动变量和形式参数可以作为寄存器变量;2) 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;3) 局部静态变量不能定义为寄存器变量。...原创 2011-07-14 15:43:23 · 249 阅读 · 0 评论 -
extern声明外部变量
外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声明”。表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。【例8.18】用extern...原创 2011-07-14 15:51:31 · 618 阅读 · 0 评论 -
带参数 宏-使用括号将参数扩起来
#define SQ(y) (y)*(y)main(){int a,sq;printf("input a number: ");scanf("%d",&a);sq=SQ(a+1);printf("sq=%d\n",sq);} 上例中第一行为宏定义,形参为y。程序第七行宏调用中实参为a+1,是一个表达式,在宏展开时,用a+1代换y,再用(y)*(y)...原创 2011-07-14 17:15:59 · 504 阅读 · 0 评论