c语言如何将结构体清零?

我的程序在下面,要在hd1,hd2,hd3中我要把DATA[64]中的字节全部清除,查到貌似要用memoset,不过还是不会啊,我有3个结构体
struct hd
{
unsigned char IDSTART[13];
unsigned char IDSYNC[1];
unsigned char TRACKNUMBER[2];
unsigned char SECTORNUMBER[1];
unsigned char DATASTART[13];
unsigned char DATASYNC[1];
unsigned char DATA[64];
unsigned char ERC[2];
}hd1,hd2,hd3;

#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:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-25
#include <memory.h>
memset( hd1.Data , 0 , 64 );
memset( hd2.Data , 0 , 64 );
memset( hd3.Data , 0 , 64 );
memset参数1是要清零的内存起始位置,参数2是用什么数去填充(0只是其中一种情况),参数3表示填充个数本回答被提问者和网友采纳

c语言如何将结构体清零?
memset参数1是要清零的内存起始位置,参数2是用什么数去填充(0只是其中一种情况),参数3表示填充个数 memset是计算机中C\/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向...

C语言中,使用一个结构体之前,要用memset把各个位清零???
原型: void *memset(void *s,int ch,size_t n);头文件:#include<string.h> 作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,该函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。,它是对较大的结构体或数组进行清零操作...

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(...

c语言 关于字符数组和整型数组清零
C语言数组和整型数组清空方法,示例:1、整数数组清零 函数:void bzero(void *s, int n)头文件: #include <string.h> 功能说明:将字符串s的前n个字符置为0,一般n取sizeof(s),将整块空间清零;举例:char str[10]; bzero(str, sizeof(str)); 也可以将整个结构体清零;2、数组...

如何清空结构体的内容
我是这样的可以:node_t *n1;n1 = (node_t *)malloc(sizeof(node_t));n1->count = 999;printf("%d\\n", n1->count);memset(n1, 0, sizeof(node_t));printf("%d\\n", n1->count);还有,请问楼主的意思是清空内容,还是释放内存?如果是释放内存的话,就要用delete n1;...

C语言 结构体元素删除
× 个人、企业类侵权投诉 违法有害信息,请在下方选择后提交 类别 色情低俗 涉嫌违法犯罪 时政信息不实 垃圾广告 低质灌水 我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0\/200 提交 取消 领取奖励 我的财富值 -- 去登录 我的现金 -- 去登录 做任务开宝箱 累计完成 0 个任务 10任务 略略...

c语言怎么在结构体里面,做一个清空数据的函数,用结构体创建的全局变量...
struct stTest{ int a; int b; };stTest a;memset(&a, 0, sizeof(a) ); \/\/从a地址开始清空 sizeof(a)大小的内存

c语言中如何删除结构体数组中的一个值
结构体同样可以看做一个基本数据类型。删除结构体数组中的一个值,就像删除一个普通数组中的值一样的。普通数组的删除是将后面的数据向前移动,达到覆盖掉的效果 比如:a[4]要删除第二个元素。那么把a[1] = a[2];a[2] = a[3];最后一个不要动,也最好别去访问它,就相当于把第二个元素...

C语言结构体(struct)用法详解
如`#pragma pack(2)`,确保内存以2字节为单位对齐。对齐规则遵循2的幂次。总结起来,学习C语言结构体对于编程非常重要,尤其是对齐和指针操作。不断学习和实践是提升编程技能的关键。对于想深入学习C\/C++的朋友,可以加入学习交流群,获取更多资源和指导,如企鹅群号763855696。

C语言中如何销毁结构体变量
C语言没有销毁变量的举措,所以不能由程序员用什么语句来销毁结构体变量。和其他基本变量一样,全局结构体变量、static修饰的结构体变量的寿命都与程序的寿命一样长,无法改变;而声明在函数中的自动(auto)结构体变量,在函数被调用时创建,函数退出时自动销毁!

相似回答