bzero

news/2024/11/17 2:29:07/



原型:

extern void bzero(void * s,int n)

函数说明:bzero()会将参数s 所指的内存区域前n 个字节,全部设为零值。
附加说明:添加头文件<strings.h>,bzero()不是ANSI C函数,建议使用ANSI C中的memset 取代,相当于调用memset(void* s, 0 , int n )。

void memset(void * s, int c, size_t len):把目标字节串制定数目的字节置为c的值



例子:

#include <stdio.h>  
#include <strings.h>  
int main( void )  
{     struct{int a;char s[5];float f;}tt; char s[20];bzero( &tt, sizeof( tt ) );//等价于memset(&tt,0,sizeof(tt));bzero( s, 20 );//等价于memset(s,0,20);  printf( "Initial success." );getchar();return 0;
}


另外还有个字节操纵函数:

void *memcopy( void *dest ,const void * src ,size_t n)
const是指指针指向的内容不能被修改

把src指向的内容复制到dest指向的内容,复制的长度是n,返回值函数返回一个指向dest的指针。

需要说明的是:

1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。重叠了就不能处理

2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。

memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;

例如:

             char a[100], b[50];

  memcpy(b, a,sizeof(b)); //注意如用sizeof(a),会造成b的内存地址溢出。

  strcpy就只能拷贝字符串了,它遇到'\0'就结束拷贝;例:

  char a[100], b[50];

       strcpy(a,b);


3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

  //注意,source和destin都不一定是数组,任意的可读写的空间均可。



 

http://www.ppmy.cn/news/724841.html

相关文章

B0M

&#xfeff;&#xfeff; &#xff08;一&#xff09;screen对象&#xff0c;Screen 对象中存放着有关显示浏览器屏幕的信息。 常见的属性有&#xff1a; availHeight:返回显示屏幕的高度 availWidth:返回显示屏幕的宽度 colorDepth:返回目标设备或缓冲器上的调色板的比特…

a//b

python中&#xff0c;/ 表示浮点数除法&#xff0c;//表示整数除法&#xff0c;返回不大于结果的一个最大整数 &#xff08;第一次遇到的时候上网查找&#xff0c;没加关键词python&#xff0c;结果就真的没找到什么含义&#xff0c;汗&#xff09;

a + b + c = 0

给一个包含 n 个整数的数组 nums&#xff0c; 判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c; 使得 a b c 0 &#xff1f;请你找出所有和为 0 且不重复的三元组。 function sumZero(nums){nums new Set(nums);nums [...nums];var sum [];if(nums…

EfficientNet Backbone结构解析 -- 以EfficientNet-B0为例说明

一般而言&#xff0c;不论我们是否要将该主干结构用于何种模型&#xff0c;一般都是在这个基础上进行的。例如&#xff0c;将在Yolact中用EfficientNet替换Resnet&#xff0c;网上有说可以在同等效果下让模型数据量降为原来的大约1/4到1/5左右。 下面我列出一下主干结构。 se…

B TO B

简介 B to B全称(Business to Business)常用电子商务模式中的一种&#xff1b;其中Bbusiness&#xff08;意指企业&#xff09;&#xff0c;B to B即为企业与企业之间的商务模式&#xff0c;从企业到企业&#xff0c;买卖双方都为企业。 概述 企业与企业之间的电子商务将是电子…

GNURadio中运行ofdm_rx报错:gr::log :INFO: packet_headerparser_b0 - Detected an invalid packet at item ××

修改方法&#xff1a;减小发送端的乘数因子。 但是本着知其然还要知其所以然的学习态度&#xff0c;下面就解释下出现这种现象的原因&#xff1a; 2021.10.28 更新&#xff1a; 在实际的测试中发现&#xff0c;引起该问题的原因还有可能是接收信号解调失败&#xff0c;导致头信…

CAD中字体相关解析 \fsimhei|b0|i0|c134

CAD中字体相关解析 \fsimhei|b0|i0|c134 之前在前人的文章上看过&#xff0c;我把用到的信息提取出来了&#xff0c;以供后面好查询&#xff0c;用到的老铁反手甩个赞吧。 在多行文字 MTEXT 中 TTF字体解析的编码 \fsimhei|b0|i0|c134|p? \字体名|粗体|斜体|代码页&#…

关于verilog不同!rst_n、~rst_n、rst_n == 1‘b0编译比较

先给结论&#xff0c;不同写法在相同编译工具RTL结果完全一致。对于很多编码规范都会加以区别对待&#xff0c;笔者认为可能是古老的编译工具存在的问题&#xff0c;新版本工具已经优化了此类算法。有兴趣可以用早期版本尝试一下。 module rst_test(input rst_n,input mclk,in…