#include <stdio.h>
#include <stdlib.h>
#define Size 5 //对Size进行宏定义,表示顺序表申请空间的大小
typedef struct Table{ //定义个顺序表结构体 int * head;//声明了一个名为head的长度不确定的数组,也叫“动态数组”int length;//记录当前顺序表的长度int size;//记录顺序表分配的存储容量
}table; //将结构体名字用table代替
table initTable(){ table t; //利用typedef 定义了一个结构体tt.head=(int*)malloc(Size*sizeof(int));//构造一个空的顺序表,动态申请存储空间 分配空间为malloc(数组长度*sizeof(类型)) if (!t.head) //如果申请失败,作出提示并直接退出程序{printf("初始化失败");exit(0);}t.length=0;//空表的长度初始化为0t.size=Size;//空表的初始存储空间为Sizereturn t; //返回结构体 t
}
//输出顺序表中元素的函数
void displayTable(table t){int i;for (i=0;i<t.length;i++) {printf("%d ",t.head[i]); }printf("\n");
}
int main(){int i;table t=initTable();//向顺序表中添加元素for (i=1; i<=Size; i++) {t.head[i-1]=i; //给数组t.head[i] 循环每次赋值 t.length++; //每赋值一次length+1 }printf("顺序表中存储的元素分别是:\n");displayTable(t);return 0;
}
输出结果是