bzero memset_perl注释

bzero memset_perl注释1 void memset void s int c size t n 总的作用 将已开辟内存空间 s 的首 n 个字节的值设为值 c 2 memset 函数常用于内存空间初始化 如 char str 100 memset str 0 100 3 memset 可以方便的清空一个结构类型的变量或数组 如 struct

1)void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

2).memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);

3).memset可以方便的清空一个结构类型的变量或数组。

如:
struct sample_struct{

char csName[16];
int iSeq;
int iType;
};

对于变量:
struct sample_strcut stTest;

一般情况下,清空stTest的方法:
stTest.csName[0]=’/0′;
stTest.iSeq=0;
stTest.iType=0;

用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));

如果是数组:
struct sample_struct TEST[10];

memset(TEST,0,sizeof(struct sample_struct)*10);

#include
void* memset(void* s, int c, size_t n){

unsigned char* p = (unsigned char*) s;

while (n > 0) {

*p++ = (unsigned char) c;
–n;
}

return s;
}

============================

头文件:#include

bzero() 会将内存块(字符串)的前n个字节清零,其原型为:
void bzero(void *s, int n);

【参数】s为内存(字符串)指针,n 为需要清零的字节数。

bzero()会将参数s 所指的内存区域前n 个字节,全部设为零值。

实际上,bzero(void *s, int n) 等价于 memset((void*)s, 0,size_tn),用来将内存块的前 n 个字节清零,但是 s 参数为指针,又很奇怪的位于 string.h 文件中,也可以用来清零字符串。

注意:bzero() 不是标准函数,没有在ANSI中定义,笔者在VC6.0和MinGW5下编译没通过;据称Linux下的GCC支持,不过笔者没有亲测。鉴于此,还是使用 memset() 替代吧。

编程小号
上一篇 2025-03-14 19:57
下一篇 2025-02-18 18:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/125213.html