这是动态阵列:
typedef struct
{
TElement* elems;
int length; //length of the array
int capacity; //capacity of the array
}
DynamicArray;
在getLength中抛出 EXCEPTION (抛出未处理的异常:读取访问冲突。 arr 为0xFFFFFFFFD03ED950。发生了):
TElement get(DynamicArray* arr, int pos)
{
return arr->elems[pos];
}
int getCapacity(DynamicArray* arr)
{
if (arr == NULL) return -1;
return arr->capacity;
}
我试图让这个函数类型为DynamicArray但它不起作用
int getLength(DynamicArray* arr)
{
if (arr == NULL) return -1;
return arr->length;
}
这里的长度显然用作int //这里我使用长度:
void add(DynamicArray* arr, TElement t)
{
if (arr == NULL) return 0;
if (arr->elems == NULL) return 0;
//resize the array, if necessary
if (arr->length == arr->capacity)
resize(arr);
arr->elems[arr->length++] = t;
}