从品牌网站建设到网络营销策划,从策略到执行的一站式服务
结构体数组删除和一般数组删除操作类似,把后面的数据往前移就行了,不过不太适用,参考一下就行了
浮梁网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
#include stdio.h
#include string.h
void del(void *arr, int n, unsigned int size, int index) {
int i, j = index * size;
for (i = index + 1; i n; ++i) {
memcpy((void *)((char*)arr + j), (void *)((char*)arr + j + size), size);
j += size;
}
}
typedef struct foo {
int a, b;
}Foo;
int main() {
Foo f[3];
f[0].a = 0;
f[0].b = 0;
f[1].a = 1;
f[1].b = 1;
f[2].a = 2;
f[2].b = 2;
del(f, 3, sizeof(Foo), 1);
return 0;
}
memset((char*)test,0,sizeof(test));试试。我是这么做的·。 补充: 或许是for(i=o;i10;i++)memset((char*)test[i],0,sizeof(test[i]));//里面的i是你想要清空的那个变量 追问: 能详细讲解一下这两个地方吗(char*)test \sizeof(test) 回答: 函数原型:memset(void *, int, size_t);(char*)test 是第一个参数,表示test结构体的首地址test强制转化为char型的。sizeof(test)是计算test结构体的大小0表示清空。 追问: sizeof()里面的结构体可以用结构体指针代替吗? 回答: 应该不行·。sizeof()括号里是数据类型,所以貌似我上面写错。应该是memset((char*)test1[i],0,sizeof(test)); 追问: 好像我用指针也通过了,........竟然没报错,而且数据也确实清空了
结构体同样可以看做一个基本数据类型。
删除结构体数组中的一个值,就像删除一个普通数组中的值一样的。
普通数组的删除是将后面的数据向前移动,达到覆盖掉的效果
比如:a[4]要删除第二个元素。那么把a[1]
=
a[2];a[2]
=
a[3];
最后一个不要动,也最好别去访问它,就相当于把第二个元素删除了。
结构体跟上面类似,但是结构体是你自定义的数据,所以在定义中,你要给它重载赋值符号(也就是=),要不然赋值的过程中会出错
1、首先,我们写好整个函数的框架,也就是头文件和Main函数。
2、然后我们写上指针变量的类型。
3、然后我们输入星号标识符。
4、接下来我们输入指针变量名。
5、接下来分号结束。
6、接下来我们就可以将直接拿来使用。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图