
C
文章平均质量分 78
Ador3
程序员中最厉害的烹饪师
烹饪师中最厉害的程序员
展开
-
关于sizeof()
sizeof() 这是初学者问得最多的一个问题,所以这里有必要多费点笔墨。让我们先看一个结构体: struct S1 { char c; int i; } 问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结转载 2008-11-20 13:53:00 · 919 阅读 · 0 评论 -
堆、栈、字符数组、字符指针和Sizeof()
堆和栈的区别一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,转载 2010-05-04 10:40:00 · 1027 阅读 · 0 评论 -
堆和栈的理论知识
1、申请方式stack:由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符如p2 = (char *)malloc(10);但是注意p1、p2本身是在栈中的。2、申请后系统的响应栈:转载 2010-05-04 10:47:00 · 1002 阅读 · 0 评论