创建一个名为arrayData的结构,该结构包含一个名为array的整数指针和一个名为size的整数变量。
使用以下标头创建一个函数:arrayData * createArray(int size)。在这个函数中,你将malloc空间用于一个新的arrayData结构。然后,您需要使用输入变量创建一个数组作为元素的数量。最后,您需要将malloc'ed arrayData指针中的变量设置为等于数组和数组大小。最后返回malloc'ed arrayData结构的指针。
以下是上述条款的代码:
struct arrayData
{
int *array;
int size;
};
struct arrayData* createArray(int size)
{
struct arrayData *str = (struct arrayData*)malloc(sizeof(struct arrayData));
int a = 10;
str->array = (int*)malloc(size * sizeof(int));
str->size = size;
for ( a = 0; a < 10; a++ )
{
str->array[i] = a;
}
return str;
}
我还要做以下事情: 使用以下标头创建一个函数:void printArray(arrayData * data)。此函数将打印输入变量数组中的所有值。 outpu将如下所示: 值1 值2 值3 VALUE4
使用以下标头创建一个函数:void freeMem(arrayData * data)。在这个函数中,你将释放所有已被malloc'ed的内存。
谁能告诉我怎么能这样做?
答案 0 :(得分:0)
用于打印阵列。
void printArray(struct arrayData *data) {
int i;
for(i=0;<data->size;i++) {
printf("\t%d",data->array[i]);
}
}
免费
void freeMem(struct arrayData *data) {
free(data->array);
free(data);
}
答案 1 :(得分:0)
首先,数组(大小)的大小与将“a”值存储到数组中无关。 (目前尚不清楚&lt; size。)
printArray(arrayData *data) {
for (i = 0; i < data->size; i++) {
printf("%d ", data->array[i]);
}
printf("\n");
}
freeMem(arrayData *data) {
free(data->array);
free(data);
}
我没有声明我等等没有原型等等。只需填写它们。