线性表存储空间的初始分配量
一个宏定义,宏的名称是list_init_size,它的值是80 相当于一个常量.后面程序中只要用到list_init_size,那么它的值都是80
listsize 为当前分配的存储容量 LIST_INIT_SIZE 为线性表存储空间的初始分配量 因此本句的意思就是设定当前可用的最大空间,防止插入时溢出
L->elem=(ElemType )malloc(LIST_INIT_SIZE*size of(ElemType)); 这是什么意思?具体的含义 相关知识点: 试题来源: 解析分配一个存储容量的大小LIST_INIT_SIZE*size of(ElemType)的存储空间.L->elem指向这存储空间的首地址.这是线性表的内容吧.打个比方说:就是建造了一个数组,比如说啊a[10],但这个数组...
分配一个存储容量的大小LIST_INIT_SIZE*size of(ElemType)的存储空间.L->elem指向这存储空间的首地址.这是线性表的内容吧.打个比方说:就是建造了一个数组,比如说啊a[10],但这个数组是空的,L->elem就是指向数组的首地址. 解析看不懂?免费查看同类题视频解析查看解答...
尝试着这样去理解 (Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype));(char*)malloc(LIST_INIT_SIZE*sizeof(char));(char*)malloc(sizeof(char));这样,就是说分配的内存大小为: LIST_INIT_SIZE * sizeof(Elemtype)再说明白一点就相当于数组:Elemtype Earray[LIST_INIT_SIZE];...
L的elem成员是这个线性表的首元素的地址。这个表达式的意思就是分配一个长度为LIST-INIT-SIZE个ElemType长度的空间并强制转换为ElemType类型的指针,将该指针的地址赋给L.elem。 这样L就是一个已经分配过空间的线性表了,它已经有了一个空的存储空间,可以放LIST-INIT-SIZE个ElemType类型的数据。
理解一下指针的定义,指针就是一个int型的变量,只是一个地址
#include#include#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct{int *elem;int length;int listsize;}SqList;int InitList_Sq(SqList &L){ L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem) return ERROR;L....
尝试着这样去理解 (Elemtype )malloc(LIST_INIT_SIZE*sizeof(Elemtype));(char*)malloc(LIST_INIT_SIZE*sizeof(char));(char*)malloc(sizeof(char));这样,就是说分配的内存大小为:LIST_INIT_SIZE sizeof(Elemtype)再说明白一点就相当于数组:Elemtype Earray[LIST_INIT_SIZE];