dynamic-memory-allocation

    0熱度

    4回答

    因此,分配零字節是不明確的,所以我想把0字節視爲失敗。請問這代碼做的伎倆 #include <stdio.h> #incude "xmalloc.h" void *malloc_or exit(size_t nbytes, const char *file, int line){ void *x; //declarea void pointer if ((x = malloc(nbytes

    1熱度

    1回答

    我目前正在學習如何實現二叉搜索樹,但使用更基本的C方法(請不要「現在使用類」)。但是,動態內存自身刪除存在很大的問題。頭值得到正確更新,但是,其他每一點都會被刪除。誰能幫我?另外,如果你會提供一些技巧來強化我的樹的實現,那將是很好的。該程序的基本概要:您輸入一個字符,然後運行其中一個樹的功能。但是請注意,這個實現是一個純粹的BST,所以沒有平衡。謝謝。 #include <iostream>

    1熱度

    1回答

    我正在調試一個程序,我發現一些數據被改變的地方,他們不應該。我使用gdb跟蹤了程序,發現目標數據在其他一些數據的delete函數中發生了變化! 起初我認爲兩個區域之間存在一些內存重疊,但後來我檢查了兩個區域的開始和結束地址,它們不重疊!只留下delete行! 這就是發生這種情況的功能,是freemap和被釋放的數據應該不會更改數據synthops: void BasicBlock::free()

    0熱度

    1回答

    在下面的代碼中,我如何以及在哪裏動態初始化類結構中的數組?例如,如果我將它改爲double * var,malloc語句去哪兒? myclass.h #ifndef MYCLASS_H #define MYCLASS_H struct Class; struct Class *new_class(); void class_function(struct Class*,double);

    0熱度

    1回答

    我有關於新的運營商++一個問題在C分配陣列動態分配數組: int * foo; foo = new int [5]; 在這種情況下 ,foo的點INT的一個陣列,但如何變化的代碼爲: foo = new int [0]; 什麼是分配和會發生什麼?

    2熱度

    1回答

    例如: // is type: std::istream // str type: std::string is >> str; 請問這個增長str,以適應輸入?它逐字符讀取並調用str.push_back()(或類似的東西)?或者在讀取輸入之前是否有機制知道輸入大小? 我意識到,標準最有可能沒有指定這個細節,但我更感興趣的是常見的實現(例如gcc)。 這個問題是一個好奇心在C你不事先知道

    0熱度

    2回答

    的dellete數組: struct Student { char * name; float gpa; } 實現以下功能: Student ** createStudentList(char ** names, int size); 上述函數創建指針數組到學生動態對象。它分配Student對象並將其名稱設置爲傳入的「名稱」,gpa爲0.「size」是可

    0熱度

    3回答

    我正在設置旅行推銷員的平坦空間環境。這是我的嘗試: #include <iostream> using namespace std; #include<stdlib.h> #include <cstdlib> #include <cmath> class Base //Allocate the memory space { protected: int n; typedef d

    0熱度

    3回答

    我正在閱讀Lippman的C++ Primer第5版中的StrVec(字符串矢量)示例,並且在討論重新分配的章節中,他們提到將對所有矢量對象(strings)更有效,而不是複製。他寫道:「我們的StrVec的表現將是多更好」。我理解這個推理,但我很好奇的是這實際上如何影響內存中的對象。 這個新分配的連續區域可能(保證?)在內存中的其他地方,所以矢量對象所在的舊區域和新區域是不相交的,不是? 所以我

    0熱度

    3回答

    所以我想這是一個更具風格的問題。 我需要寫入一個大小爲3字節的元素的動態數組。 (像素大小爲24bpp的位圖) 所以,每個元素都必須是char [3]。 如果我想避免使用struct pixel{ char R, char G, char B},避免預處理語句的使用,是有可能把它寫成 char* pixel[3] 並在3*sizeof(char)步驟分配? 爲了說明高度和寬度,我需要一個cha