- 博客(5)
- 资源 (1)
- 收藏
- 关注
转载 使用fflush清空缓冲区
在看《C陷阱与缺陷》时候,看到如下代码: #include #include int main(int argc, char *argv[]) { int i = 0; char c; for(i = 0; i { scanf("%d", &c); printf("%d ", i); } printf("\
2012-08-27 16:19:14 1920 1
转载 为什么类中的线程函数必须要声明静态?
之前也没注意到这问题,大家先搞清楚下面几个关键词吧: class CMyTest { public: CMyTest(); ~CMyTest(); DWORD Start(); static DWORD WINAPI ThreadFun(LPVOID); // .... }; void main() { C
2012-08-07 13:55:08 1405 4
转载 堆(heap)和栈(stack)、内存泄漏(memory leak)和内存溢出
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2012-08-07 13:52:06 726
转载 C++内存分配方式详解
在C++中,内存分成5个区——堆、栈、自由存储区、全局/静态存储区和常量存储区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用
2012-08-01 10:40:21 892
转载 C内存分配方式
C内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。程序在运行
2012-08-01 10:38:34 3539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人