C语言中构造一个顺序存储的线性表,为什么其中的元素是用数组存储的。

2025-04-06 01:52:01
推荐回答(2个)
回答1:

还是说只要是在内存中申请了一块连续的地址空间存储数据只要知道其首地址都可以用数组的形式访问其中的元素呢?

就是这样的。

线性表的特点就是长度可变,如果使用常规的数组,就不能实现这个特性,因为数组是定长的。而在堆中申请的内存可以通过参数在运行时指定它的大小,且可以调整它的大小,并且其使用方式和数组一样,使用索引访问。

int*p = (int*)malloc(sizeof(int)*5);

p[0];   //第一个元素
p[1];   //第二个元素
p[2];   //第三个元素
        //...
free(p);

回答2:

实际的情况与你所想差不多