一.数组结构体定义
#define ARRAY_SIZE 50
typedef struct
{
int data[ARRAY_SIZE];
int len;
}MyArray;
其中,
ARRAY_SIZE表示数组的最大长度
len表示数组的当前长度,其实也可以表示为数组最后一个元素的下标(last),没有多大区别,凭个人喜好。
二. 初始化操作
void ArrayInit(MyArray *arr)
{
int i;
for (i = 0; i < ARRAY_SIZE; ++i)
{
arr->data[i] = 0;
}
arr->len = 0;
}
初始化有两个步骤,一是将数组中所有元素初始化为0,因为在C语言中定义一个数组时不是将所有元素初始化为0,而是保留原先存储空间中的值,所以要进行初始化;
二是将数组长度置为0(定义为末尾元素下标时可置为-1,表示没有元素)。
三. 在数组末尾追加元素
int ArrayAppend(MyArray *arr, int var)
{
if(arr->len == ARRAY_SIZE)
{
//数组已满,无法添加元素
return -1;
}
arr->data[arr->len++] = var;
return 0;
}