allocation相关内容
可能重复:结果 什么是在malloc的点(0)? 为什么的malloc(0),实际上是写返回一个有效的指针? 的char *海峡= NULL;海峡=(字符*)malloc的(0); //分配0字节?的printf(“str的指针:%P \\ N”,STR);的strcpy(STR,“一个很长的字符串...................”);的printf(“str的值:%S”,STR)
..
假如我写我的code非常防守,始终从所有我调用的函数检查返回类型。 于是我去这样的: 的char *函数(){ 字符*纪念品= get_memory(100); //第一次分配 如果(MEM!)返回NULL; 结构粘结剂* B = get_binder('常规粘合剂'); //第二分配 如果(!B){ 免费(MEM); 返回NULL
..
我公司目前拥有大量多线程服务器应用程序,我正在挑选一种良好的多线程内存分配器。 到目前为止,我左右为难: Sun的umem 谷歌的tcmalloc 英特尔线程构建模块分配器 埃默里Berger的囤 从我发现囤积可能是最快的,但我没有听说过今天之前,所以我怀疑,如果它真的好,因为它看起来。任何人都有亲身经历尝试这些分配程序? 解决方案 我用tcmalloc和阅读有关囤积居
..
有没有在C办法,找出动态分配的内存的大小? 对于例如,假设我说 的char * p = malloc的(sizeof的(字符)* 100); 现在是有办法找出记忆与对相关联的大小? 解决方案 comp.lang.c常见问题列表·问题7.27 - Q值。所以,我可以查询的malloc 包找出一个分配的块有多大? 一个。不幸的是,没有标准或可移植的方法。 (一些编译器提供
..
的alloca()从栈中分配内存,而不是堆这是在情况的malloc()。所以,当我从常规返回内存被释放。所以,其实这解决了我腾出的动态分配的内存的问题。内存释放通过分配的malloc()是一个大难题,如果种种原因错过导致各种内存问题。 为什么使用的alloca()气馁,尽管上述特点? 解决方案 答案是正确的,在该人页(至少在Linux上): 返回值 中,alloca()函数返回一
..
我试图从Boost库,即从与“pool_allocator”类的帮助下池分配小型对象的内存添加到我的项目,而有限的功能,并发现我需要添加到项目dependendencies 4调试静态库文件和4发布静态库文件。即需要像这样的一行8库文件的依赖关系: 的boost ::容器::矢量< INT,提振:: pool_allocator< INT> >伏; 有没有办法来使用这
..
最近我一直在寻找一个游泳池/分配机制。 升压游泳池似乎提供了解决方案,但仍然有东西,它一直无法从文档推断。 什么需要分配 若干小班(〜30个字符) 的std ::地图(我想,以确保它不会自行执行动态分配) pugi :: XML 中的分配 的std ::字符串 如何控制的地址空间分配(或只是量) 该object_pool似乎是为分配需要1提供了一个很好的方法) 然而它想设
..
我一直在问这个问题采访。请帮我找到它的答案。 假设你有一个Employee类。有2个变量的原因 - 1.字符串名称2.智力年龄 现在,员工EMP =新员工(); 现在问的问题是: 其中,存储在内存中即堆栈或堆和对象如何EMP? 其中,存储在内存中,以及如何姓名和年龄变量? 是什么在这个声明中的每个单词做即哪些呢员工do..then emp..then = ..然后..新员工,然后.
..
我用C几乎是一个初学者,我想分配一个2维数组,改变它,重新分配它,并打印出来。 既与code的答案是useful.Now的code是: 的main() { INT I,J,L,** LP; scanf函数(“%i”的,&安培; L); LP =释放calloc(L,sizeof的(* LP)); 对于(i = 0; I< L,我++)
..
我要重新分配一个二维数组,使第二数组中的数组变得更大,所以我想存储的东西比我想将它们存储在阵列大,我想使阵列更大。问题是,我真的不知道如何做到这一点。我懂了没有错误编译,但在Valgrind的我看到了很多的内存错误,所以我做了什么。只见这个这里previous问题但我没有真正了解它,所以任何帮助,并解释如何做到这将是极大的AP preciated。 我有这这么远。 INT ** create
..
Person.java 公共类Person { 公共字符串名字,姓氏;公众人物(字符串名字, 字符串的lastName){ this.firstName =名字; this.lastName = lastName的; }公共字符串getFullName(){ 返回(名字+“”+ lastName的); } } PersonTest.java 公共类PersonTest { 公共静态无效的主
..
我/ IKE知道,如何通过使用函数参数指针动态分配数组。这个功能应该是分配阵列10×10(支票跳过简单起见)。这可能吗?我究竟做错了什么?先谢谢了。 INT array_allocate2DArray(INT **阵列,无符号整型size_x,无符号整型size_y) { 阵列=的malloc(size_x * sizeof的为(int *)); 的for(int i = 0;
..
我无法为数组动态分配内存。我已经调试好几个小时,任何指针? 我张贴的code的其余部分。它只是应该与第二,第三与第四交换交换的第一行。我得到了奇怪的结果,如: 输入字符串:你好 输入字符串:你怎么样 输入字符串:我很好谢谢 输入字符串:再见 输入字符串:李白 输入字符串:XX ========================= 你怎么样 !我很好谢谢 您好 !你怎么样 再
..
我使用的是特里普尔指针试过,但它一直失败。 code: 的#include<&stdlib.h中GT; #包括LT&;&stdio.h中GT;诠释设置(INT ***名单){ 诠释计数,我; 的printf(“请输入号码:\\ n”); scanf函数(“%d个”,&安培;计数); (*名单)=(INT **)的malloc(sizeof的(INT)*计); 对于(i =
..
我使用的开发C ++写一个模拟程序。对于它,我需要声明一个数据类型为单维数组双击。它包含 420 元素 - 比如双N [420] 。 编译器显示没有错误,但在程序退出上执行。我已经检查,程序具有 5000 元素的数组执行就好了。 现在,我知道宣布在栈上这样的大阵不推荐使用。但是,事情是,仿真要求我从阵列中多次调用特定的元素 - 例如,我可能需要 n的值[234] 或 N [46664] 对于一
..
在一个项目,有人推这一行: 双(* E)[N + 1] =的malloc((N + 1)* sizeof的(* E)); 哪个假想创建的二维阵列(N + 1)*(N + 1)的两倍。 的据说的,我说,因为到目前为止,没有人,我问能告诉我这是什么呢,正好,也不在那里它源自或者为什么它应该工作(据称,这样做,但我“M尚未购买它)。 也许我缺少明显的东西,但我AP preciate它,如果有人能高
..
嗨,我是pretty新的C ++和我需要dynamicacally分配二维数组。没有错误,但在运行时,我设置了秩序和第一排,然后我得到一个运行时错误:“段错误”......这里是code: 的#include<&iostream的GT;使用命名空间std;双** allocateDynamicArray(INT与秩序){ 双** ARR =新的双* [为了] 的for(in
..
我怎么会去动态分配一个多维数组? 解决方案 如果您知道嵌套维度的尺寸已,还可以从字面上使用分配一个多维数组新: 的typedef INT尺寸[3] [4];尺寸*黯淡=新的维度[10]; 暗淡[/ *从0到9 * /] [/ * 0-2 * /] [/ * 0-3 * /] = 42; 删除[]暗淡; 而不是 10 ,运行时确定的值可以传递。因为它不是类型的运营商新的收益的一部分,这
..
什么是一个静态数组,并在C动态数组之间的区别++? 我要为我做一流的转让,它说不要使用静态数组,只有动态数组。我看过的书和网络,但我似乎不明白。 我想静在编译时被创建和动态运行时,但我可能内存分配被误以为这一点。 您能解释一下在C ++中静态数组和动态数组之间的区别? 感谢。 解决方案 本地阵列在栈上创建,并自动存储时间 - 你并不需要手动管理内存,但他们被摧毁的时候,他们的功能'
..
以下code产生了对我一个堆栈溢出错误 INT主(INT ARGC,CHAR *的argv []) { INT筛[2000000] 返回0; } 我如何解决这个问题?我使用的Turbo C ++,但想保持我的code用C 编辑: 谢谢你的建议。在code以上只是举例来说,我居然在一个函数声明数组,而不是子主。另外,我需要的数组初始化为零,所以当我用Google搜索的mal
..