2007年3月19日

#define与const的差别

摘要: #define与const的差别虽然他们在使用中感觉“差不多”,但是他们在实现上有什么区别?请看下面的代码:#define T 13 /*用#define定义的一个常量T*/int main(){ const int t=13;/*用const定义的一个常量*/ int n=t;/*把t赋值给n*/ int m=T;/*把T赋值给m*/}1.差别:const与#define... 阅读全文

posted @ 2007-03-19 17:14 路吾 阅读(498) 评论(0) 推荐(0) 编辑

#define的用法

摘要: #define的用法1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i<MAXTIME){.........}编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使... 阅读全文

posted @ 2007-03-19 16:57 路吾 阅读(2041) 评论(0) 推荐(0) 编辑

全局变量和局部变量在内存里的区别?

摘要: 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,... 阅读全文

posted @ 2007-03-19 14:32 路吾 阅读(661) 评论(0) 推荐(0) 编辑

堆和栈的理论知识

摘要: 3.1申请方式 stack: 由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间 heap: 需要程序员自己申请,并指明大小,在c中malloc函数 如p1 = (char *)malloc(10); 在C++中用new运算符 如p2 = (char *)malloc(10); 但是注意p1、p2本身是在栈中的。 3.2 申请后系统的响应 栈:只要栈的剩余空... 阅读全文

posted @ 2007-03-19 14:30 路吾 阅读(338) 评论(0) 推荐(0) 编辑

导航