calloc

    1熱度

    2回答

    中動態內存的大小我明白,使用calloc()和malloc()將在堆上分配特定數量的內存並返回一個指向開始分配的指針。 我也知道free(poinerVar)將解除分配(釋放分配的內存)。但是,我無法想像free()知道如何取消分配的內存量。像C#,Java這樣的管理語言會跟蹤它的垃圾回收對象,但C肯定不會(據我所知)。 在內存管理層面發生了什麼,它使得free可以釋放內存並只傳遞指針變量。

    1熱度

    2回答

    我一直在研究這段代碼一段時間,現在我遇到了一個我似乎無法調試的seg故障。下面是相關的代碼: typedef struct Halo* Halo; struct Halo { float x, y, z; float vx, vy, vz; int n200a; float m200a; float r200a; int n200c;

    0熱度

    3回答

    我正在創建一個結構體,該結構體的堆上有一個unordered_map字段。當我使用新的,我可以添加到它沒有問題。但是使用calloc時,由於存儲區大小爲0,所以我插入了一個錯誤。在我調用reserve後,它正常工作。 因此,當在結構上調用calloc時,unordered_map構造函數是否不運行?我很困惑,爲什麼如果它是在一個新的結構,它似乎有一個非零的桶大小。除了撥打儲備金之外,還有更好的方法

    2熱度

    2回答

    我在玩c函數malloc和calloc,我有一些問題。 我想看看如果我可以使用這兩個函數來分配物理內存,我的Mac有4GB或RAM,當我使用malloc時,我可以分配超過4GB的方式,這意味着malloc分配物理和虛擬內存。 我有幾個問題: 是我可以使用任何功能,使我只能分配物理內存(W/O分配虛擬MEM) 時調用malloc和calloc,當指針返回時,有什麼方法可以使用指針來確定分配了多少物理

    -1熱度

    2回答

    代碼看起來是這樣的: char *global1 = NULL; char *global2 = NULL; char *global3 = NULL; char *global4 = NULL; void func2(char *gPtr, char **gPtrToInitialize) { if(*gPtrToInitialize == NULL) // He

    0熱度

    1回答

    #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _MSC_VER #include <crtdbg.h> // needed to check for memory leaks (Windows only!) #endif #define FLUSH while(getchar() != '\n')

    0熱度

    1回答

    我有一些包含使用calloc和malloc進行內存分配的自制哈希表的代碼。我想用自定義刪除器的shared_ptr修改這些部分,以自動釋放分配的內存。代碼是mmseg中文分段器算法的一部分,它工作的很好,但是如此糟糕,因爲它留下了內存泄漏。我正在考慮使用unordered_map或類似的方式重寫該代碼,但現在我想進行這些更改。 我閱讀類似問題上的答案,例如shared_ptr with mallo

    1熱度

    2回答

    我想指向一個calloc數組的指針。出於某種原因,當我到達第二個元素時,程序部隊退出。第一個元素打印出來並且工作正常。這裏是我的代碼只是想打印出通過第二指針的所有元素的例子: integerArray = (int*)calloc(totalNum, sizeof(int)); if(integerArray == NULL) { printf("ERROR! Number ent

    0熱度

    1回答

    嗨我有一個三重指針,我想重新分配時,我的原始數組已填滿。出於某種原因,我使用realloc的方式給了我一個seg故障。任何人都有一種感覺,爲什麼? double ***matrixn; matrixn=(double***) calloc(1,sizeof(double **)); for(i=0;i<1;i++){ matrixn[i]=(double**)calloc(3,siz

    9熱度

    1回答

    我想知道calloc()是否優於malloc,然後是memset。後者似乎是分配和初始化內存的最常見方式。 A github code search變成了很多calloc測試和實現,但在第一頁的數量沒有代碼實際使用calloc。 有誰知道任何項目/組織使用或推薦使用calloc和推薦它的情況? 從意見和下面的答案,這裏是一些有想法浮現至今: calloc(n, size)可以防止溢出這是可能與ma