c语言如何将结构体清零?
我的程序在下面,要在hd1,hd2,hd3中我要把DATA[64]中的字节全部清除,查到貌似要用memoset,不过还是不会啊,我有3个结构体structhd{unsig...
我的程序在下面,要在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; 展开
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:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
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:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询