如何高效删除结构体数组中的某一项

zxhong 2006-07-11 09:52:26
struct a{
int a1;
int a2;
char a3[10];
};

struct b{
struct a aa[5];
int count;
};

现在问题是需要删除struct b中的aa结构体数组中的一项,其它不变,该如何实现?
...全文
1357 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhu_doc 2006-07-11
  • 打赏
  • 举报
回复

int i,j;
int item;
struct b anexp;
printf("which item do you want to delete ::");
scanf("%d", &item);
for(i=0; i<5; i++)
{
for(j=item; j<10-1; j++)
{
anexp.aa[i].a3[j] = anexp.aa[i].a3[j+1];
}
anexp.aa[i].a3[j] = '\0';
}
jinjiajie 2006-07-11
  • 打赏
  • 举报
回复
要删减数据建议用链表,用数组空间是释放不了的,删除没任何意义
dengjun0256 2006-07-11
  • 打赏
  • 举报
回复 2
你这个问题本身 是错的.结构体一旦定义完毕,它表述的是一个存放数据的架构,怎么能删一个架构中的一部分呢?就好比你定义了一个int a,而你要删这个a中的某几位.
zxhong 2006-07-11
  • 打赏
  • 举报
回复
就是删除其中的某个结构体数据
使aa[5]为aa[4]

比如删除aa[2]
就是将aa[3]中的数据移到aa[2]中,aa[4]中的数据移到aa[3]中
jinjiajie 2006-07-11
  • 打赏
  • 举报
回复
你删除的意思是什么,你aa的空间在那里,怎么删空间还是在的...一个办法,就是将那个位置赋值成空

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧