malloc

    0熱度

    2回答

    我想動態地分配字符串數組,但我不知道我該如何做到這一點。所以我想構建一個結構並動態分配這個結構。所以我做了下面的代碼,但是這段代碼創建斷言失敗。 #include <stdio.h> #include <stdlib.h> typedef struct { char str1[20]; char str2[20]; } String; int main(void)

    -1熱度

    1回答

    根據我的理解,下面的程序可能已經崩潰,釋放已釋放的內存,但不是。在我的Linux機器上運行。 #include <stdio.h> #include <malloc.h> int main(void) { int *ptr1 = NULL; ptr1 = malloc(100); free(ptr1); free(ptr1); pri

    0熱度

    1回答

    我一直的印象是動態內存分配比靜態內存分配慢下,我再讀到內存池,但我很困惑 當我們比較分配,我們正在討論使用malloc vs初始化一個變量。但是如果有人用malloc分配一個大數組並訪問它,我們是否會得到與靜態分配它相同的性能?比方說,你有: int i[100]; j = malloc(sizeof(int) * 100); // Would these two lines yield t

    0熱度

    1回答

    爲什麼doens不工作?存在地址訪問錯誤。但是,我試圖通過互聯網和谷歌找到問題,我不知道。我正在做我的任務。我的助理要求我們使用 STUDENT ** list and Malloc() 然而,他們沒有完全解釋,所以我在困難時期。我怎麼解決這個問題?爲什麼我得到一個錯誤?

    -1熱度

    1回答

    我正在使用gnu sparc工具鏈。我有sparc-ab-elf-gcc和sparc-ab-linux-gcc。 ('ab'是處理器名稱)。我想編譯一個使用malloc和free(這個程序應該在linux上運行)的程序在baremetal(沒有os)上。所以我應該使用sparc-ab-elf-gcc來編譯它。我聽說我可以在這種情況下使用dlmalloc。 (見stdlib-like library

    -3熱度

    2回答

    我分配在堆工會內存,我需要刪除工會的對象時,工會的元素Id是900 請幫我刪除groupUnion[i]對象的時候,Id低於900 是我的代碼。 groupUnion = (SettingsUnion *) malloc(sizeof(SettingsUnion) * (NumAttrs + 1)); if(groupUnion == (SettingsUnion *) NULL) {

    -1熱度

    2回答

    我必須在最後一行的錯誤,在nullString,功能設置的所有字符串「\ 0」用一個簡單的() void function (unsigned char inputArray[], size_t inputSize) { size_t cellSize; if (inputSize <= 256) cellSize = 1; else cel

    0熱度

    1回答

    我寫的通用應用程序處理JSON配置文件中定義的儘可能多的modbus設備。 mbus_servers結構用於my_modbus_init()內容的設備和端口的ip。 在my_modbus_init()一個modbus_t的初始化看起來是這樣的: modbus_t * my_modbus_init(const char * ip_s, int port, int slave_id) {

    0熱度

    3回答

    所以我在這個相當新的,對不起,如果這聽起來像一個愚蠢的問題 我想了解的malloc,並創建一個非常簡單的程序,它將打印「ABC」用ASCII碼 這裏是我的代碼(就是我們的教授教我們)到目前爲止 char *i; i = malloc(sizeof(char)*4); *i = 65; *(i+1) = 66; *(i+2) = 67; *(i+3) = '\0'; 什麼,我不明白的是

    0熱度

    1回答

    我試圖分配一些內存爲我的數據結構(您可以通過因特網分組數據),但我所面臨的問題,我的程序只是停止,當它來回第二個循環。第一個循環變得完美,結構中的所有數據都是正確的。下面是代碼: struct ipOut *ipHeadr = NULL; struct ipAddr *addrHeadr = NULL; struct hexOut *hexHeadr = NULL;