dynamic-memory-allocation

    -5熱度

    1回答

    我該如何解決這個問題,我的程序運行良好,但valgrind一直告訴我,我犯了錯誤。 代碼 錯誤 我無法弄清楚什麼是錯線104和11

    0熱度

    1回答

    如何使這個程序沒有警告......保持說明未初始化的尾部以發出警告。試圖創建一個循環,打印出我所有的數據,而不必每次都使用不同的參數調用函數。如果我將tail =設置爲COP3330,那麼它不打印出COP3330信息,因爲它的值= NULL。謝謝! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <mal

    3熱度

    3回答

    當我嘗試malloc()一個struct bstree節點,我的編譯器報告錯誤: invalid conversion from 'void*' to 'bstree*' 這裏是我的代碼: struct bstree { int key; char *value; struct bstree *left; struct bstree *right; };

    0熱度

    1回答

    我發現自己處於困境。我有一個應該刪除任何動態分配內存的程序,但每當我嘗試調用相關方法時,都會出現內存堆損壞。 它似乎工作時,我不調用的方法,但後來我可能導致大量的內存泄漏。有誰知道發生了什麼事? 的代碼如下: CSVFile.h: #pragma once class InputPattern; class OutputPattern; class CSVFile { private

    1熱度

    3回答

    我在C中閱讀了關於動態數組的問題,但是我無法將答案與我的問題聯繫起來。 我使用fgets從stdin獲取命令,刪除換行符,然後希望將每個由空格分隔的命令存儲在動態分配的字符串數組中。然而,我正在分配和重新分配內存的正確方式遇到很多麻煩。我與clang編制和不斷收到分段錯誤11.然後我用-fsanitize=address並不斷收到: ==2286==ERROR: AddressSanitizer:

    1熱度

    4回答

    這是在C中的代碼,在Ubuntu 15.10編譯: ----- ----- node_tree.h struct node_tree{ int key; char value[20]; struct node_tree* right_child; struct node_tree* left_child; }; typedef s

    0熱度

    3回答

    我正在尋找最方便/最好/最聰明的方式進行多次內存釋放。不太清楚,如果這是最好的解釋在那裏,但這裏有一個例子,將說明我想做的事: void func() { int* ptr1 = malloc(1); if(ptr1 == NULL) { //... } int* ptr2 = malloc(1); if(ptr2 ==

    1熱度

    1回答

    我寫了一個元胞自動機程序,它將數據存儲在矩陣(數組數組)中。對於300 * 200矩陣,我可以使用靜態內存分配(例如std::array)每秒達到60次或更多的迭代次數。 我想生成不同尺寸的矩陣,而無需每次重新編譯程序,即用戶輸入一個尺寸,然後開始對該矩陣尺寸進行模擬。但是,如果我使用動態內存分配(例如std::vector),則仿真速度將降至每秒約2次迭代。我怎麼解決這個問題?我採取的一個選擇是

    0熱度

    4回答

    #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct node { char *arr; struct node *next; } node; int main() { char *word = (char *)malloc(sizeof(char) * 20);

    0熱度

    1回答

    我一直在從valgrind獲取一些神祕的未初始化值的消息,並且它是相當神祕的,因爲壞值起源於哪裏。沒有人知道問題在哪裏?非常感謝 有memmory錯誤,我已經變得越來越: ==26075== Memcheck, a memory error detector ==26075== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et