C语言跟内存申请相关的函数主要有 alloca,calloc,malloc,free,realloc,sbrk等. 函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。 malloc()函数有一个参数,即要分配的内存空间的大小: void *malloc(size_t ...
分类:
其他好文 时间:
2018-05-20 14:07:43
阅读次数:
201
一、基本特性 1、 realloc()函数可以重用或扩展以前用malloc()、calloc()及realloc()函数自身分配的内存。 2、 realloc()函数需两个参数:一个是包含地址的指针(该地址由之前的malloc()、calloc()或realloc()函数返回),另一个是要新分配的内 ...
分类:
编程语言 时间:
2018-05-13 22:06:06
阅读次数:
232
在C语言中,动态分配和释放内存的函数是malloc、calloc和free,而在C++语言中,new、new[]、delete和delete[]操作符通常会被用来动态地分配内存和释放内存。需要注意的是new、new[]、delete和delete[]是操作符,而非函数;new和delete也是C++ ...
分类:
编程语言 时间:
2018-04-29 13:19:25
阅读次数:
170
在一般的程序中,我们难免会遇到动态的申请内存,那么动态内存分配的意义到底是什么呢?在 C 语言中的一切操作都是基于内存的,变量和数组都是内存的别名。内存分配由编译器在编译期间决定,定义数组的时候必须指定数组长度,数组长度当然也是在编译期就必须确定的。 那么为什么会有动态分配内存的需求呢?在程序运行的过程中,可能需要使用一些额外的内存空间。我们都是在 C 语言中使用 malloc 来动态申请内存的,当时释放的时候是用 free。
分类:
其他好文 时间:
2018-04-25 10:16:56
阅读次数:
166
参考:http://blog.csdn.net/cc214042/article/details/52728924 使用堆与栈,一维数组 1 //定义长度为size的数组 2 //在栈上 3 int array[size]; 4 5 //在堆上 6 //C++语法 new delete 7 int ...
分类:
其他好文 时间:
2018-01-23 00:59:38
阅读次数:
190
内存管理 进程空间 源程序:源代码 程序(可执行文件):有源程序编译后的文件 进程:时间概念,可执行文件被拉起到结束的这段过程。进程可以被拉起多个。 进程空间:可执行文件被拉起,在内存中的分布情况。 进程空间的分布: 32位机最大寻址3G, 重点栈,堆 栈:auto修饰的变量,谁调谁用,用完即消。不 ...
分类:
编程语言 时间:
2018-01-22 01:10:56
阅读次数:
234
四、PTA实验作业(指针) 题目一: 1.本题PTA提交列表: 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 1.由于这道题不知道具体要输入数据,所以采用calloc来按要求进行分配内存 2用for()循环来输入数据,斌且进行数据的求和,在内层循环中再通过一一比较,就可以求 ...
分类:
其他好文 时间:
2018-01-20 11:08:14
阅读次数:
169
功能及原理 先来大概介绍下Google Heap Profiler,大致有三类功能: 可以分析出在程序的堆内有些什么东西 定位出内存泄露 可以让我们知道哪些地方分配了比较多的内存 大概的原理就是使用tcmalloc 来代替malloc calloc new等等,这样Google Heap Profi ...
分类:
其他好文 时间:
2018-01-02 13:23:44
阅读次数:
223
以下转自http://blog.csdn.net/luotuo44/article/details/42773231 memcached源码中assoc.c文件里面的代码是构造一个哈希表。memcached快的一个原因是使用了哈希表。现在就来看一下memcached是怎么使用哈希表的。 哈希结构: ...
分类:
系统相关 时间:
2017-12-25 11:32:44
阅读次数:
190