关于顺序表的一个小问题
在看完数据结构以后我尝试把每个知识点的程序写一遍,后来发现了这个问题,在网上找了很久,发现貌似没人提出这个问题。。。也许是我很笨吧...伤心#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define List_init_size 100
#define Listincrement 20
typedef int elemtype;
typedef int status;
typedef struct
{
elemtype *elem;/*这里定义了一个指针我想应该是用来储存储存顺序表数据的地址*/
int length;
int listsize;
}Sqlist;
status Init_List(Sqlist &L)/*构造一个空的顺序表*/
{
L.elem=(elemtype *)malloc(List_init_size*sizeof(elemtype));/*问题就在这里,书上说这是动态空间分配的做法,但是这么做的意思是什么?构造了一个顺序表然后调用结构体里面的指针给他分配这么多空间是什么意思?*/
L.length=0;
L.listsize=List_init_size;
return 1;
}
void Input(Sqlist &L)/*创建一个顺序表*/
{
int i;
printf("请输入顺序表的长度:\n");
scanf("%d",&L.length);
printf("请输入顺序表:\n");
for(i=0;i<L.length;i++)
scanf("%d",&L.elem[i]);/*这里是第二个问题,前面定义了一个指针,然后这里为什么指针名变成数组名了?它并没有定义数组啊?*/
}
希望各位能解除我的疑惑,万分感谢!