这是一个可变数组的代码,使用Dev-C++显示我undefined reference to `array_create(int)',不清楚哪里错了,希望有没有指证一下
#include<stdio.h>
#include<stdlib.h>
typedef struct point{
int size;
int *array;
}Array;
Array array_create(int init_size);
void array_write(Array *a,int i,int x);
void array_bigger(Array *a,int more_size);
void array_free(Array *a);
int array_size(const Array *a);
int main(void)
{
Array a=array_create(10);
int i;
for(i=0;i<10;i++)
{
int x;
scanf("%d",&x);
array_write(&a,i,x);
}
for(i=0;i<10;i++)
{
printf("%d",a.array[i]);
}
array_free(&a);
return 0;
}
Array create_write(int init_size)
{
Array a;
a.size=init_size;
a.array=(int*)malloc(sizeof(int)*(a.size));
return a;
}
void array_write(Array *a,int index,int number)
{
if((index+1)>a->size)
{
int block_size=20;
array_bigger(a,block_size);
}
a->array[index]=number;
}
void array_bigger(Array *a,int more_size)
{
int *another_array=(int*)malloc(sizeof(int)*more_size);
for(int i=0;i<a->size;i++)
{
another_array[i]=a->array[i];
}
free(a->array);
a->array=another_array;
a->size=a->size+more_size;
}
void array_free(Array *a)
{
free(a->array);
a->array=NULL;
a->size=0;
}
int array_size(const Array a)
{
return a.size;
}