malloc

    -2熱度

    1回答

    我正在嘗試從Linux文件「/ proc/net/dev」中獲取網絡接口名稱。我有兩個問題。首先,我可以通過編寫從第3行的代碼,直到文件的末尾得到它: char buffer[100], word[10]; fgets(buffer, 100, fp); sscanf(buffer, "%s %*[:] %*s", word); ,但問題是我得到的字符串以冒號(LO:爲et

    0熱度

    1回答

    我正在通過複製程序在c,我想了解下面的代碼如何工作。我有關於功能的研究,但由於某種原因,我無法理解它。例如「./main a temp /」這個命令複製一個文件夾temp,下面的代碼將第二個參數賦值爲一個目錄,如果以「/」結尾爲temp /。如果用戶輸入「./main a b」,則程序將複製一個並創建與b具有相同文件權限的b。我知道一切。除了下面的代碼。有人可以解釋下面的代碼以及它的工作原理。 感

    0熱度

    1回答

    正在創建我的2d數組char **緩衝區。 malloc部分起作用。 realloc部分正在生成分段錯誤。 這些是執行以下操作的2個功能; //sets up the array initially void setBuffer(){ buffer = (char**)malloc(sizeof(char*)*buf_x); for(int x=0;x<buf_x;x++){ b

    1熱度

    1回答

    我試圖出在C()的鏈接列表程序,我使用malloc動態分配存儲器,然後當我嘗試使用免費()在的端部函數,程序運行到無限循環。 這是怎麼發生的? void Insert(int x, int pos) { struct Node *newnode = (struct Node*) malloc(sizeof(struct Node)); newnode->data = x;

    0熱度

    1回答

    使用一個小控制檯應用程序,該應用程序可對類似維度的矩陣上的值執行數學運算。 CreateMatrix()函數返回int **,它給出了數組的維數,現在我正在嘗試輸入並且遇到錯誤。我以前從未使用malloc,所以我想我錯誤地使用了某些東西。我會嘗試省略任何你不需要的代碼來查找我的問題。 int rowInput, colInput; int** customA, customB;

    1熱度

    2回答

    From the MallocInternals section of the wiki: 如從螺紋碰撞壓力增大,附加領域經由MMAP創建以釋放壓力。競技場的數量上限是系統中CPU數量的八倍(除非用戶另有指定,請參閱mallopt),這意味着大量線程化的應用程序仍然會出現一些爭用,但權衡是會減少碎片。 爲什麼增加舞臺的數量會增加碎片?有趣的是,我僅僅通過嚴格限制內存競技場僅爲2(通過MALLOC_

    0熱度

    3回答

    某處在github上,我看到了下面這段代碼 char *p=malloc(1); gets(p); printf(p); 我試過相同,發現它的工作原理。 無論我輸入多長時間的字符串,它都會被存儲並且不會給出分段錯誤。怎麼運行的?我只給了它1個字節。 加上當我輸入free(p);它給出奇怪的輸出。

    -2熱度

    1回答

    我正在爲我的學校製作一個外殼,而我其實正在研究管道|。爲了解析,我需要把一些東西放在char ***。我如何malloc a char ***?

    0熱度

    2回答

    我一直試圖釋放()內存在最後,但我的教練說,我已經創建了3個malloc'd指針(與當前設置)。 注意:我想詳細解釋malloc /內存中的實際情況。 我會很感激我能做些什麼來確保沒有內存泄漏。 我寫了以下內容。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define LUNCH_ITEM

    2熱度

    1回答

    使用malloc分配大內存區後,我試圖在/proc/[pid]/maps文件中檢查堆區的跨度。以下是我寫的代碼。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() {