初学数据结构的同学们肯定会对书上的某些代码产生疑惑,如果没有弄懂其中的含义,对接下来的学习很不利,所以我就为大家讲解一下其中的不好理解的点(数据结构严蔚敏)
上图为定义一个顺序表,将结构体类型的struct定义为SqList,后面在主函数中我们我们定义变量时只需要定义为SqList S。
图中 ElemType 为可变的数据类型,它可以是char型、int型、float型等等,我们可以进行宏定义
Typedef char ElemType;
Typedef float ElemType;等等
上图中两种数组的定义方式是一样,左图为数组静态分配,右图为数组动态分配,它们都指向数组的首地址。
右图需要为其分配数组空间,有两种分配方式:
第一种C++的方式:
SqList L;
L.data=new ElemType[MAXSIZE];
第二种C的方式:
SqList L;
L.data=(ElemType*)malloc(sizeof(ElemType)*MAXSIZE);
使用malloc函数需要加入头文件#include<stdlib.h>
(ElemType*)为强制类型转换,意思为把返回的值转换为ElemType的指针类型。