我的程序的这一部分在处理 C 中的动态数组时遇到了麻烦。我的老师提供了原型函数。我被困在附加部分。我只是不明白为什么 p 是双指针。起初我想也许我们应该创建动态数组的数组,但删除函数不需要双指针。这是我到目前为止所拥有的:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
/*
Name: Marcus Lorenzana
Assignment: HW 4
*/
struct _dynamic
{
int size;
int max_size;
int *data;
};
typedef struct _dynamic dlist_t;
dlist_t * make_dlist(int size);
void app_dlist(dlist_t **p, int value);
int ins_dlist(dlist_t **p, int val, int index);
int del_dlist(dlist_t *p, int index);
int main(int argc, char * argv[])
{
dlist_t *plist;
plist = make_dlist(50);
return 0;
}
dlist_t *make_dlist(int size)
{
dlist_t *list;
list = (dlist_t *) malloc (sizeof(dlist_t));
list->size = 0;
list->max_size = size;
list->data = (int *) malloc((sizeof(int))*size);
return list;
}
void app_dlist(dlist_t **p, int value)
{
/*
int size;
size = p->size;
p->data->size = value;
size++;
p->size = size;
*/
}
int ins_dlist(dlist_t **p, int val, int index)
{
}
int del_dlist(dlist_t *p, int index)
{
}