科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年11月14日

摘要: 为什么用到静态变量?变量存储有两种方式:静态和动态;动态变量在程序执行时分配存储单元,当所在程序段结束时,自动将这些存储单元释放,静态变量存储在永久性的存储单元中,在下次执行该程序段时仍然使用原来的存储单元。因此,静态变量的生存周期将一直延长到其所在的整个程序运行结束。测试代码:#include<stdio.h>void sum();void main(){int a=3;static int b;printf("a=%d,b=%d\n",a,b);sum();sum();}void sum(){int a=2;static int b=10;a+=10;b+= 阅读全文

posted @ 2011-11-14 21:35 科创园 阅读(4170) 评论(0) 推荐(0) 编辑

摘要: 宏与函数的区别:(1)内存堆栈:调用函数时 地址放入堆栈,函数执行完后将调用函数的地址从堆栈返回给程序;而宏展开是使用取代标识直接将宏名取代(2)时间效应:调用函数需要现场保护 和恢复现场,需要较多时间,但不会使目标程序变长;宏展开在编译时运行,不占用运行时间,但会使目标程序变长(3)参数传递:调用有参函数时,先将实参的值复制一份,然后将复制的值传给形参;展开有参宏直接将实参置换形参(4)参数类型:有参函数形参必须指定类型;而有参宏中参数是没有类型的,实参可以是任意类型使用枚举 和使用#define定义常量 和const关键字的区别(从优缺点比较)#Define指令优点:申明一次 多次使用;占 阅读全文

posted @ 2011-11-14 21:34 科创园 阅读(695) 评论(0) 推荐(0) 编辑