gpt4 book ai didi

c - 尝试进行内存分配时出现访问冲突错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:59:26 26 4
gpt4 key购买 nike

struct DynamicArray {
int allocated;
int used;
int *array;
}; typedef struct DynamicArray DynamicArray;

DynamicArray * ArrayCreate(int initialSize) {
DynamicArray *array;
(*array).array = (int*)malloc(initialSize*sizeof(int)); //Debugger points this line.
if((*array).array == NULL) {
return NULL;
}
(*array).allocated = initialSize;
(*array).used=0;
return array;
}

我正在尝试为动态数组创建自己的库。只是为了学习和提高自己。请查看我的代码。我做错了什么?

最佳答案

你在这里取消引用一个未初始化的指针:

DynamicArray *array;  // uninitialized
(*array).array = .... // ooops

您需要使array 指向一些您可以写入的内存。例如

DynamicArray *array = malloc(sizeof(DynamicArray));

关于c - 尝试进行内存分配时出现访问冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com