dynamic-memory-allocation

    -1熱度

    1回答

    我用二維動態數組,我不知道如何修復錯誤,請幫助我!我想從用戶獲取一個字符串,並將其分離爲一些字符串,並將它們放入2d動態數組中。 它是我分配數組的代碼部分。 int colCount,rowCount; string** table = new string*[rowCount]; for(int i = 0; i < rowCount; ++i) { ta

    2熱度

    2回答

    我需要一些有關C中指針數組動態分配的幫助。我試圖創建一個程序,它從用戶輸入中讀取一個單詞的句子,並將這些單詞存儲在字符數組字符串中。然後我想要將指針char *word保存到指針數組char **wordArray中的這些字中。 爲單詞創建一個動態分配的工作方法非常簡單,它從用戶輸入中逐個字符地讀取。但是,試圖使這種方法適用於指針數組更加棘手。 當前函數char **varArray顯然有缺陷,但

    1熱度

    1回答

    我有一個使用malloc指針的模擬二維數組,我想獲取該數組的大小,因爲sizeof()返回指針的大小。 我的代碼(ANSI C): void main(){ int s1=10; int s2=15; int ** rack=(int**)malloc(s1*sizeof(int**)); for(int i=0; i<s1; i++) rack[i]=(i

    3熱度

    2回答

    有幾次我偶然發現了需要複製的指針容器。 比方說,我們有下面的類層次結構: 學生(基類) 大一(子類) Sophmore(子類) 少年(子類) 高級(小類) StudentService 的StudentService類有一個std::vector<Student*> students場和下面的構造: StudentService::StudentService(std::vector<Studen

    14熱度

    2回答

    如果我們寫出類似: int *arr = new int[5]; 在這種情況下,系統動態地爲int類型的5個元素分配空間並返回一個指向該序列的第一個元素。 但是,一旦我看到下面的代碼: int *arr = new int[5]{}; 那麼,是什麼意思{}後new操作?這段代碼中{}的用途是什麼? 我已經初始化數組用我自己的價值,就像這樣: #include <iostream> in

    0熱度

    1回答

    在一個類方法的if語句的主體中分配兩個數組,這是一個依賴於輸入的數據,在我的情況下,它從未爲真。因此,就我而言,這兩個數組從未被分配。但是這個類的析構函數刪除了這兩個[unallocated]數組。 我從來沒有使用不同的MPI庫和C++編譯器的代碼(基於C++ MPI + OpenMP的)出現任何錯誤,除非我開始使用impi庫。 代碼是確定運行,直到它到達端,然後與退出代碼6或11 我固定此bug

    0熱度

    2回答

    在其中我編碼我需要使用一個結構,因爲這一個程序的動態數組: static std::unordered_map<size_t, int> map[N][M]; 的問題是,我需要動態生成地圖的大小,所以我會定義: static std::unordered_map<size_t, int> **map 但我在分配它時出現問題。任何建議? 感謝

    -1熱度

    2回答

    當給出五個輸入時,而不是要求5個字符串只需要四個,爲什麼這樣呢? 爲何默認*a+0 = '\n'已保存? 我也在第9行試過scanf("%d %c", &n &ch),但問題是一樣的。 #include <stdio.h> #include <string.h> int main() { int n; char ch; printf("n

    0熱度

    2回答

    我被給出以下解釋的問題: 「僅使用變量q,爲結構點內的整型指針動態分配內存」。我寫了下面的代碼,但是,我無法刪除動態分配的整數,因爲它給我一個運行時錯誤,說我正在刪除一些不存在的東西。我在分配後檢查了內存地址 ((* q) - > x - > x)和srcX,並且它們具有相同的地址。我怎樣才能釋放這個動態分配的整數? #include <iostream> using namespace st

    0熱度

    1回答

    我試圖做一個程序,對於給定的int value保持分隔量的數組: int amount_of_dividers和那些分隔的列表:int* dividers 這是代碼: #include <stdio.h> #include <stdlib.h> typedef struct{ int value; int amount; int* dividers; } Di