C语言中构造一个顺序存储的线性表,为什么其中的元素是用数组存储的。
答案:2 悬赏:80
解决时间 2021-03-14 00:39
- 提问者网友:爱你等于作孽
- 2021-03-13 17:34
在线性表存储结构中并没有定义数组,那数组怎么来的,还是说只要是在内存中申请了一块连续的地址空间存储数据只要知道其首地址都可以用数组的形式访问其中的元素呢?
最佳答案
- 二级知识专家网友:我颠覆世界
- 2021-03-13 18:57
还是说只要是在内存中申请了一块连续的地址空间存储数据只要知道其首地址都可以用数组的形式访问其中的元素呢?
就是这样的。
线性表的特点就是长度可变,如果使用常规的数组,就不能实现这个特性,因为数组是定长的。而在堆中申请的内存可以通过参数在运行时指定它的大小,且可以调整它的大小,并且其使用方式和数组一样,使用索引访问。
int*p = (int*)malloc(sizeof(int)*5);
p[0]; //第一个元素
p[1]; //第二个元素
p[2]; //第三个元素
//...
free(p);
就是这样的。
线性表的特点就是长度可变,如果使用常规的数组,就不能实现这个特性,因为数组是定长的。而在堆中申请的内存可以通过参数在运行时指定它的大小,且可以调整它的大小,并且其使用方式和数组一样,使用索引访问。
int*p = (int*)malloc(sizeof(int)*5);
p[0]; //第一个元素
p[1]; //第二个元素
p[2]; //第三个元素
//...
free(p);
全部回答
- 1楼网友:陪我到地狱流浪
- 2021-03-13 19:22
使用栈,将元素依次放入栈stack[]中 再从栈顶依次取元素。即为逆序。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |