dynamic-memory-allocation

    -2熱度

    1回答

    我正在處理這段代碼來分配一些內存和返回指針,但我得到了段錯誤的錯誤。請幫我弄明白。 #include <stdio.h> #include <stdlib.h> #include "memalloc.h" int total_holes,sizeofmemory; void* start_of_memory; void setup(int malloc_type, int mem_siz

    0熱度

    2回答

    首先,這不是duplicate。我的問題是如何用動態內存來做到這一點。這是不同的原因是因爲我的delete[]掛。 所以,這裏是我有: class PacketStrRet { public: PacketStrRet(char p_data[], int p_len) : len(p_len) { data = new char[p_len]; mem

    0熱度

    1回答

    我有一個包含刪除它的功能: void Vector::reserve(int n){ //if there is a need to increase the size of the vector if (n > _size){ int* tampArr; //check what the new size of the array should be

    0熱度

    4回答

    struct node *tempNode = (struct node*) malloc(sizeof(struct node)); //and struct node *tempNode = malloc(sizeof(struct node));

    2熱度

    3回答

    我一直在尋找各地StackOverlow的答案,但我沒有找到一個,所以我希望這不是任何職位的重複,這裏四周。 所以,我的下一個問題。 可以說我有未來2類:矩形(這是從另一個類建造,但它不關心我們目前) 和電網。 與他們下面的構造函數: (點構造爲矩形私人左上和bottomRight): Point::Point(int x, int y) {this->x = x; this->y = y;}

    0熱度

    2回答

    我用c的可變長度數組實現一種算法: int matrix[rows][cols]; 我設法測試,這並失敗的荒謬的尺寸。有沒有辦法在堆上分配這個矩陣而不是堆棧?否則,我將不得不重寫這個到int** ... 有點像calloc(sizeof(int[rows][cols]), 1)?請注意,這個問題是關於變長數組的,特別是。

    0熱度

    3回答

    字符串數組我知道存在於其他地方這個問題,如: pointer being freed was not allocated in C error: pointer being freed was not allocated ,但我仍然很困惑。錯誤似乎與「修改由malloc返回的原始指針」和「在釋放之前未通過malloc」等相關。我只是不明白這些原因如何適用於我的程序。 我寫的字符串動態分配的數組:

    -2熱度

    1回答

    這是我的代碼部分: array = (int *) malloc(5*sizeof(int)); 它被初始化並具有一定的價值,我在這裏跳過這一步更多的間隙。 memmove(array, array + 1, 4*sizeof(int)); array = realloc(array, 4*sizeof(int)); 我想在這裏完成的是刪除數組的第一個成員,並將整個數組向左移動一步。不過

    -1熱度

    1回答

    首先讓我爲格式化和難度代碼道歉。我是C和Stack的新手。這裏大部分的混亂代碼可能與問題無關,但必須包含在上下文中。 在第一次調用realloc(註釋中註明)後,下面的代碼會出現分段錯誤。 return_file->target_line只是一個3D數組,i是3D數組第一維的元素數。所以我打電話realloc來存儲額外的二維數組(類型char **)。 NULL內存分配的返回被故意省略B/C開發協

    2熱度

    2回答

    我需要一些幫助來解除分配內存的結構。 我正在存儲一個指向變量中的內存位置的指針,但我想在使用後取消分配內存。但是,當我嘗試釋放內存時,它只釋放第一個結構項(name)和age保留在內存中。我的代碼可以在下面看到。 int main(int argc, char **argv) { struct employee { char *name; int age;