(Lc);}#include#include#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100 // 存储空间初始分配量#define STACKINCREMENT 10 // 存储空间分配增量typedef int SElemType; // 定义栈元素类型typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等struct SqStack{SElemType *base; ...
线性表存储空间的初始分配量
ListInit *List = CurMap->getValueAsListInit("ValueCols");std::vector<ListInit*> ValueCols;unsignedListSize = List->size();for(unsignedj =0; j < ListSize; j++) { ListInit *ListJ = dyn_cast<ListInit>(List->getElement(j));if(ListJ->size() != ColFields->size()) PrintFatalErr...
listsize 为当前分配的存储容量 LIST_INIT_SIZE 为线性表存储空间的初始分配量 因此本句的意思就是设定当前可用的最大空间,防止插入时溢出
一个宏定义,宏的名称是list_init_size,它的值是80 相当于一个常量.后面程序中只要用到list_init_size,那么它的值都是80
理解一下指针的定义,指针就是一个int型的变量,只是一个地址
分配一个存储容量的大小LIST_INIT_SIZE*size of(ElemType)的存储空间。L->elem指向这存储空间的首地址。这是线性表的内容吧。打个比方说:就是建造了一个数组,比如说啊a[10],但这个数组是空的,L->elem就是指向数组的首地址。
如果创建失败 那么L.elem =NULL !L.elem 就为真 ,那就执行 return ok;当然返回ok了
将L.elem这个指针指向一块通过malloc函数分配的内存的地址 这个内存的大小为Elemtype这个结构体的size*LIST_INIT_SIZE的乘积这么大 malloc 是用于分配指定size的内存的库函数 原型:extern void *malloc(unsigned int num_bytes);用法:#include <malloc.h> 或#include<stdlib.h> 功能:分配长度为num_...
elemType* elem;//动态分配空间首地址intlength;//线性表当前长intlistSize;//线性表最大长}sqList; 初始化 voidinitSqList(sqList *l) { l->elem=(elemType *)malloc(initSize*sizeof(elemType));if(!l->elem) { printf("动态分配内存失败\n"); ...