void * memset ( void * ptr, int value, size_t num );
Fill block of memory
Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).
Parameters
ptr
Pointer to the block of memory to fill.
value
Value to be set. The value is passed as an int, but the function fills the block of memory using the unsigned char conversion of this value.
num
Number of bytes to be set to the value.
Return Value
ptr is returned.
Example
/* memset example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] = "almost every programmer should know memset!";
memset (str,'-',6);
puts (str);
return 0;
}
【转】
1。void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
2。例子
#include
void main(){
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
3。memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);
4。memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到'/0'就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘/0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。
5.补充:一点心得
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);
6。strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#i nclude
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#i nclude
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。
分享到:
相关推荐
DCM与PFC融合的CRM混合模式创新实践,DCM CRM混合模式PFC ,DCM; CRM混合模式; PFC,DCM与PFC的混合模式在CRM系统中的应用
基于Dijkstra算法的路径规划Matlab代码:读取黑白色地图并实现图像上的路径规划示例,读取黑白色地图,在图片上进行路径规划matlab代码 路径规划算法基于读图识别的Dijkstra算法 随意设置坐标,规划路径 示例如下 ,读取地图; 路径规划算法; Dijkstra算法; 坐标设置; 规划路径,基于Dijkstra算法的Matlab黑白色地图路径规划代码
matlab实现LSTM时序预测完整程序+数据
968a658a40c897eb4452d8718cf0f8e6.part6
Matlab Simulink下的LLC开关电源仿真技术探究与实践,Matlab Simulink仿真,LLC开关电源仿真 ,核心关键词:Matlab Simulink仿真; LLC开关电源仿真; 电源仿真,Matlab Simulink下的LLC开关电源仿真研究
matlab实现RF时序预测完整程序+数据
FLAC3D水力切顶角度研究:水力压裂代码的实践与参考指南,FLAC3d不同水力切顶角度,水力压裂代码,可以做参考 ,FLAC3d; 水力切顶角度; 水力压裂代码; 参考;,FLAC3d水力压裂角度控制与代码解析
基于分层滤波技术的冲击噪声检测与去除算法.pdf
"COMSOL模拟技术:等离子体与热流耦合的深度探索",comsol等离子体,热流耦合 ,comsol等离子体; 热流耦合; 仿真模拟; 物理建模,"COMSOL等离子体热流耦合模拟"
基于SSA与DBN的多输入单输出预测模型:麻雀优化算法在Matlab环境下的实现与效果评估,麻雀优化算法SSA结合DBN做多输入单输出预测模型,要求数据是excel替数据就可以用。 程序语言是matlab,需求最低版本为2020及以上。 程序可以出真实值和预测值对比图,线性拟合图,可打印多种评价指标。 PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体数据为准。 2.由于每个人的数据都是独一无二的,因此无法做到可以任何人的数据直接替就可以得到自己满意的效果。 3.程序后无原理讲解。 ,核心关键词:麻雀优化算法SSA; DBN多输入单输出预测模型; Matlab; 2020版及以上; 真实值和预测值对比图; 线性拟合图; 评价指标; 数据替换; 独一无二的数据; 无原理讲解。,基于SSA-DBN的Excel数据多输入单输出预测模型(Matlab 2020+版)
LDPC编译码技术:信道编译码实现、规格与算法可定制的探索,LDPC编译码实现 信道编译码 LDPC码编译码极其识别 编码规格DVBS2 IEEE802.11n IEEE802.16e 译码算法 置信传播 和积算法 最小和 可定制 ,LDPC编译码实现; 信道编译码; LDPC码识别; 编码规格(DVBS2; IEEE802.11n; IEEE802.16e); 译码算法(置信传播; 和积算法; 最小和); 可定制。,LDPC编译码技术:实现、规格与算法详解
基于三菱PLC的3×4立体仓库组态监控系统设计与实现,6#基于三菱PLC组态王3×4立体仓库组态监控系统 ,基于三菱PLC; 组态王; 立体仓库; 3×4组态监控系统; 立体仓库组态监控,基于三菱PLC的立体仓库组态监控系统
冻融循环数值仿真:基于Comsol的真水热力三场耦合分析降雨边坡稳定性周期性变化及热膨胀效应的达西定律应用,冻融循 环数值仿真 comsol 真水热力三场耦合 采用达西定律与热膨胀接口,可分析降雨边坡在冻融到解冻过程的稳定性周期性变化 ,冻融循环;数值仿真;Comsol;真水热力三场耦合;达西定律;热膨胀接口;降雨边坡稳定性;周期性变化,"冻融循环仿真研究:真水热力三场耦合与周期性稳定性分析"
声发射定位图:MATLAB制作的长方体三维立体展示技术,2D与3D个性化呈现解析,声发射定位图(长方体),MATLAB制作,2D 3D个性化展示。 ,声发射定位图; 长方体模型; MATLAB制作; 2D 3D展示; 个性化展示,MATLAB制作声发射定位图:2D/3D个性化展示长方体图
高斯光束生成与传输模拟的Matlab计算方法研究,高斯光束生成传输matlab计算 ,高斯光束; 生成; 传输; MATLAB计算;,高斯光束生成与传输的Matlab计算
,500kW储能变流器(PCS) 采用T型三电平模块,结构三维、控制电路、驱动电路,全部的BOM,型式试验报告等全部资料。 没有程序源码,本交付的资料与本描述一致,未提及的可能没有。
基于多范数约束的分布式鲁棒优化模型:Matlab编程实现与优化策略探究,基于综合范数的两阶段分布鲁棒优化模型 采用matlab编程的基于场景概率驱动的两阶段分布鲁棒优化模型采用列和约束生成算法(C&CG)进行求解,采用 1-范数和∞-范数对分布鲁棒优化的模糊集进行构建,采用拉丁超立方抽样+kmeans进行场景生成及削减,程序运行可靠,思路清晰,有详细参考资料,可在此基础上进行拓展优化。 ,关键词:综合范数;两阶段分布鲁棒优化模型;Matlab编程;场景概率驱动;列和约束生成算法(C&CG);1-范数;∞-范数;拉丁超立方抽样;kmeans;程序运行可靠;思路清晰。,综合范数下的两阶段分布鲁棒优化模型与优化求解研究
基于Xilinx XC7A35T开发平台的高精度时间数字转换(TDC)系统:基于Carry4进位链的71.4ps分辨率TOF测距代码实现,xilinx xc7a35t 开发平台,基于Carry4进位链高精度时间数字转(TDC)代码,分辨率71.4ps#tof测距 ,核心关键词:xilinx xc7a35t;开发平台;Carry4进位链;高精度时间数字转换(TDC);分辨率71.4ps;#tof测距。,基于Xilinx XC7A35T平台的TDC高精度测距代码
基于ATP仿真建模的雷击过电压研究:直流500kV至1100kV输电线路的过电压特性分析,直流500kV,660kV,800kV,1100kV输电线路雷击过电压ATP仿真建模。 ,直流500kV; 660kV; 雷击过电压; ATP仿真建模; 输电线路; 800kV; 1100kV。,雷击过电压ATP仿真建模:超高压输电线路研究
今年春节狠狠充了一把,后悔充了这么多,一气之下买了个退款教程吓一吓王者,真退款了又不愿意,现在分享给大家