数据结构学习笔记 算法2.3的具体实现

#define TRUE      1
#define FALSE     0
#define OK        1
#define ERROR     0
#define INFEASIBLE  -1
#define OVERFLOW    -2
#define LIST_INIT_SIZE 100//线性表存储空间的初始分配量 
#define LISTINCREMENT 10 //线性表存储空间的分配增量
typedef int ElemType;
typedef struct{
	 ElemType *elem;
	 int length;
	 int listsize; 
}SqList;

int InitList_Sq(SqList *L)
{
	//L为指向结构体类型数据的指针变量,所以要用 L->elem 或 (*L).elem 
	(*L).elem = (ElemType *)malloc(LIST_INIT_SIZE * sizeof(ElemType));
	if(!L->elem) exit(OVERFLOW);
	L->length=0;
	L->listsize = LIST_INIT_SIZE;
	return OK;
}


#include 
int main(int argc, char *argv[])
{
	SqList L = {NULL};//必须初始化,因为含有指针变量 
	printf("初始化前listsize = %d\n",L.listsize);
	InitList_Sq(&L);
	printf("初始化后listsize = %d\n",L.listsize);
	return 0;
}

你可能感兴趣的:(C)