关于#c语言#的问题:是先创建顺序表还是先初始化顺序表

如果这样写顺序表的创建函数,那么对应的功能函数该怎么写,这个应该怎么改功能函数?
我想实现图一的算法,但是报错了,不知道该怎么改动,求指正
而且,顺序表的实现,是先创建顺序表还是先初始化顺序表?创建是可有可无的吗(我看着有些好像直接就初始化了,还是说把创建和初始化一起做了)?

img

img

参数传a就行了,不要写a[MAXSIZE],另外Create函数参数也要改为Sqlist *&L
调用函数写法参考:
Sqlist *sq;
Create(sq);

先创建再初始化。

  1. 创建可以看作是创建一个对象,但该对象的一些属性还没设置,因此初始化可以看作是对其属性的初始化(如果是先初始化再创建,但对象都还没有怎么知道它有哪些属性呢)
  2. 对象是什么可以自己定义,对于生活中的每一件物体、每一件事都可以看作一个对象,在创建顺序表的时候,可以把顺序表看作一个对象,本质上来讲,是把内存中一个连续的地址块看作是一个顺序表对象,因此,图1中16行L=new Sqlist就可以看作是在创建一个顺序表对象,并用指针L指向该对象,便于后面通过L来操作该顺序表。
  3. 顺序表创建了但是还没初始化,什么意思,初始化就是我们希望把该顺序表的一些属性(第9、第10行就是在定义顺序表具有的属性)设置为我们想要的值,比如顺序表刚创建的时候只是划分了一段内存给它,但还没给内存填上我们想要的值;还有顺序表里面元素的个数length我们还没设置,因此17-21行是在给指定内存地址填上我们想要的值,22行是在设置该顺序表所含元素个数。
  4. 总的来说,16行是创建,17-22行是初始化