c语言清空结构体
1. 在c语言中,怎么删除一个结构体数组中的数据
满意答案null6级2010-12-10你是想单纯的删除
,还是注销这个结构体的这一项啊
追问:
把结构体中存的所有数据删除
回答:
要是是int型的我们一般把它等于0要是是指针型的一般是把他指向空指针NULLstruct
A{int
a;char
*b;}dd;main(){dd.a=0;
dd.b==NULL;}可是这么做好像没事意思,你能告诉我你是想干嘛吗
追问:
学生信息管理系统中有一个结构体数组,存有学生姓名char(20),学号int,等信息,要实现该程序的全部删除功能
回答:
那可以像上面我教的的那样,其实就是用0和NULL把原来的值给覆盖了,原来的数据自然就没有了,也就是实现了你的删除的目的!
2. C语言 如何将所有结构数组的变量全部清为0
需包含<memory.h> 或 <string.h>
void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
memset(结构数组名,0, sizeof(结构数组名) );
3. C语言 结构体清零
结构体是直接做入参的。复制只会将qingling函数中的数据清零。应用指针
void qingling(structType* haoma){
haoma->shou = 0;
haoma->zhong = 0;
haoma->wei = 0;
}
这个和qingling(int i)函数中改i值,但调用者值不变是一回事。
4. c语言中如何将结构中变量清空
1、首先,我们首先定义四个变量。
5. C语言里如何清空结构体内的数据
memset((char*)&test,0,sizeof(test));试试。我是这么做的·。 补充: 或许是for(i=o;i<10;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)); 追问: 好像我用指针也通过了,........竟然没报错,而且数据也确实清空了
6. C语言里如何清空结构体内的数据
memset((char*)&test,0,sizeof(test));试试。我是这么做的·。
7. 我用C语言写了一个学生管理系统,就是删除功能不知如何编写,想问问如何实现对结构体数组其中的一项清空
很简单。
假设你定义的结构体数组大小为MaxSize=1000,你可以定义一个当前数组中的学生数Size,
该数值随着录入的学生信息的多少而变化。
现在假设数组中有500个学生的信息,也即Size=500;你需要删除其中一个学生的资料。
通过查找你得到这个学生的信息存储在第100号结构中,
那么你将101号的学生的信息覆盖到100号结构中(例如:student[99]=student[100]),再将102号的学生的信息复制到101号结构中,依次复制,直到将500号结构中的学生信息复制到499号结构中。然后改写Size=499。
上面的复制过程可以通过一个for循环来实现,100号之前的结构都不用动。
这样,当前学生结构数组中就少了原来100号结构中的学生信息,也就是删除掉了。
8. c语言如何将结构体清零
#include <memory.h>
memset( hd1.Data , 0 , 64 );
memset( hd2.Data , 0 , 64 );
memset( hd3.Data , 0 , 64 );
memset参数1是要清零的内存起始位置,参数2是用什么数去填充(0只是其中一种情况),参数3表示填充个数
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。
void *memset(void *s, int ch, size_t n);
函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
9. C语言 结构体元素删除
#include<stdio.h>
structPeople
{
intNo;
intage;
};
intmain()
{
structPeopleStus[5]={{1,34},{2,23},{3,25},{4,28},{5,31}};
inti,id,k=0;
scanf("%d",&id);
for(i=0;i<5;i++)
{
if(id==Stus[i].No)
k=1;
if(k)
Stus[i]=Stus[i+1];
}
k=0;
for(i=0;i<4;i++)
{
printf("%d%d ",Stus[i].No,Stus[i].age);
}
return1;
}//解决请采纳