realloc

    2熱度

    2回答

    我試圖在Windows 7上實現C中的一些數學算法,並且需要反覆增加我的數組大小。 有時會失敗,因爲realloc無法分配內存。 但是,如果我在開始時一次分配大量內存,它會正常工作。 這是內存管理器的問題嗎?任何人都可以解釋我這個嗎?

    0熱度

    4回答

    我想將一堆字符掃描到數組中。我已經使用malloc來設置數組的原始大小,但是如果用戶輸入的字符多於初始大小允許的字符數,我希望使用realloc來增加大小。我不太確定把realloc放在哪裏,或者它應該在條件語句中。 char *strscan(void) { int size = sizeof(char) * 10; char *a = malloc(size);

    -2熱度

    2回答

    我有這個代碼的問題,我試圖理解發生了什麼,但我不明白爲什麼它只是粉碎。這些函數的工作方式與我期望的node-> left相同。 但是當函數的最後一次調用在node-> left的情況下結束時;該函數只是壓碎,我想因爲重新分配的數組,我不知道我是否試圖訪問一個禁止的內存。 我會在稍後解釋一下我認爲問題來自哪裏:打印數組之前,我們在helper(node-> left,table,len)的最後一次調

    0熱度

    3回答

    我試圖擴展我的玩家列表。 當我使用reallo c函數時,它會保存除最後一個以外的播放器。 我的意思是說,如果我的陣列中有4名球員,並且我試圖將我的陣列擴展到7個,我得到了一個7號陣列和3名球員的新陣列。 這是函數的一部分:自己從initializeListForTree()功能 void initializeListForTree(Player** players, int listSize)

    -3熱度

    1回答

    讓我們考慮這個數組字符指針: char *lesMots[10]; 這是一個while循環中使用: while(fgets(buffer, TAILLE_BUFFER, fichier)!=NULL){ token = strtok(buffer, s); while(token != NULL && token[0]!=13) { tok

    0熱度

    3回答

    我想釋放我的文件名(char *指針),但得到了一個錯誤: 檢測堆損壞:正常塊(#65)在0X後.... 代碼: static FILE *initializeIndexFile(char *database, char **indexFileName) { FILE *file1_p; *indexFileName = NULL; int len = strlen

    0熱度

    2回答

    我有一個問題,自我參照構造調用的realloc。當我運行這個程序時,我得到錯誤*** Error in ...: realloc(): invalid next size: 0x0000000000602160 ***。我想這個問題與最後一行有關,因爲如果我評論它,程序運行沒有任何問題。 這是代碼最小的(不)工作片: #include <string.h> #include <stdlib.h>

    0熱度

    1回答

    #include <stdlib.h> #include <stdio.h> #include <string.h> int temp; int main() { FILE * fp; fp = fopen("input2.txt", "r"); //Open the input int counter = 0; int reall

    0熱度

    1回答

    void test(){ char *c = malloc(strlen("I like coffe") + 1); strcpy(c, "I like coffe"); char **s = &c; while(strlen(*s) < 25) my_function(s); } void my_function(char **s){

    0熱度

    1回答

    當輸入爲'1 2 3 4 5 6 7 8 9 10 11'期望的輸出應該與輸入相同。然而輸出是'1 2 3 4 5 6 7 8 9 10 -1850774484'。只有當輸入超過10個整數時纔會發生。我在哪裏出錯我的realloc線 #include <stdio.h> #include <stdlib.h> #define INITIAL_SIZE 10 int main(int a