一、可变数组
- 基本操作
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int size;
int *array;
} Array;
Array create_array(int init_size)
{
Array a;
a.size=init_size;
a.array=(int*)malloc(sizeof(int)*a.size);
return a;
}
void free_array(Array *a)
{
free(a->array);
a->array=NULL; //保险起见
a->size=0;
}
int array_size(Array *a)
{
return a->size;
}
int* search_array(Array *a,int index)
{
return &(a->array[index]);
}
int array_get(Array *a,int index)
{
return a->array[index];
}
void array_set(Array *a,int index, int value)
{
a->array[index]=value;
}
int main()
{
Array a=create_array(100);
*search_array(&a,1)=10; //给a[0]赋值
printf("%d\n",array_size(&a));
printf("%d\n",*search_array(&a,1));
}
- 可变数组
void array_in