鱼C论坛

 找回密码
 立即注册
查看: 2783|回复: 1

C语言数组扩容的实现

[复制链接]
发表于 2019-12-2 20:45:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 guoquanli 于 2019-12-2 21:17 编辑


4.PNG

6.PNG


实现两个链表的拼接:链表内部是用数组实现空间分配的
数组扩容的时候,高亮代码提示:error: assignment to expression with array type,求大神们指点,非常感谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-3 10:55:37 | 显示全部楼层
for(int i = 0; i <LIST_MAX+ pListQuestB->list_length ; i++){
            temp[i + LIST_MAX] = pListQuestB->list_data[i];
        }
将 i <LIST_MAX+ pListQuestB->list_length改为 i<pListQuestB->list_length ,否则pListQuestB->list_data[i]中数组访问会越界,因此报错

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pListQuestA->list_data = temp;
temp是通过malloc动态分配的,pListQuestA->list_data是结构体中封装的长度位100的整型数组,扩容后如何用数组名来访问temp那段内存
(因为其他的函数接口都是对结构体里封装的这个大小固定的数组进行操作的,所以扩容后为了保证其他接口函数的可用性,继续用数组名来访问malloc动态分配的temp对应的那段内存)
*********这个功能如何实现了,望大神们赐教!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 05:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表