memset memcpy
memset & memcpy
memset
void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
memset的头文件:
#include<memory.h>
// or
#include<string.h>
memset可以用于赋值和初始化数组
因为char是1字节,memset是按照字节赋值的,所以,相当于把每个字节都设为输入的那个数。例如:
memset(dp,0,sizeof(dp));
int类型的变量一般占用4个字节,对每一个字节赋值0的话就变成了00000000 00000000 000000000 00000000
memset(dp,-1,sizeof(dp));
赋值为-1的话,放的是11111111 11111111 11111111 11111111
memset(dp,1,sizeof(dp));
以上代码执行后,dp数组的内容为 00000001 00000001 00000001 00000001 转化为十进制后不为1
常用的memset操作
memset(a,127,sizeof(a))
将数组的全部元素,初始化为一个很大的数
memset(a,128,sizeof(a))
将数组的全部元素,初始化为一个很小的数
memcpy
void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。
例子(来自菜鸟教程)
#include <stdio.h>
#include<string.h>int main(){char *s="http://www.runoob.com";char d[20];memcpy(d, s+11, 6);// 从第 11 个字符(r)开始复制,连续复制 6 个字符(runoob)// 或者 memcpy(d, s+11*sizeof(char), 6*sizeof(char));d[6]='\0';printf("%s", d);return 0;
}
结果:
runoob
Reference
C++中memset()函数的用法详解
memset memcpy相关推荐
- [收集] C++ memset ,memcpy 和strcpy 的区别
Memset 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为' '或'\0': 例:char a[100];memset(a, '\0', sizeof(a)); mems ...
- memset,memcpy,strcpy 的区别
一.函数原型 strcpy extern char *strcpy(char *dest,char *src); #include <string.h> 功能:把src所指由NULL结束的 ...
- memcpy()详解
相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy() 表头文件: #include <string.h> 定义函数: void ...
- linux memcpy需要头文件,Linux编程中中各种头文件
1.unistd.h 是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数.write函数和getpid函数 2.stdlib.h stdl ...
- 动态检测内存错误利器ASan
ASan,即Address Sanitizer,是一个适用于c/c++程序的动态内存错误检测器,它由一个编译器检测模块(LLVM pass)和一个替换malloc函数的运行时库组成,在性能及检测内存错 ...
- [转]symbian基本类型转换
TDesC是所有字符类的祖先 标准C语言 Symbian OS 让一个字符串进入2进制代码 Static char hellorom[]="hello" _LIT(khelloro ...
- 二十万字C/C++、嵌入式软开面试题全集宝典六
目录 101. 字节对齐有什么作用? 102. C语言中#pragma用法 103. new和malloc的区别? 104. malloc/calloc/realloc三者之间的区别? 105. de ...
- 二十万字C/C++、嵌入式软开面试题全集宝典一
目录 1.引用和指针的区别? 2.从汇编层去解释一下引用 3.C++中的指针参数传递和引用参数传递 4.形参与实参的区别? 5.static的用法和作用? 6.静态变量什么时候初始化 7.const? ...
- C++ 经典面试题
1,关于动态申请内存 答:内存分配方式三种: (1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在. 全局变量,static变量. (2)在栈上创建:在执行函 ...
最新文章
- 量子物理 詹班 计算机,6量子物理作业答案
- GDI+中常见的几个问题(6)
- Andorid之jni里面崩溃然后用errno分析结果解决问题
- HDU 3397 线段树 双懒惰标记
- java对List的优雅排序
- mybatis 注解忽略属性
- 计算机学科评估b是水平,学科评估B什么水平?
- 12v电量显示制作方法_12V电池电量指示电路
- 电子合同助力“在线教育”高效发展
- 2022起重机械指挥考试题模拟考试题库及在线模拟考试
- 【机房重构】C#子窗体关闭父窗体
- java毕业设计中山乡村文化旅游网络平台Mybatis+系统+数据库+调试部署
- abp zero mysql_2、ABPZero系列教程之拼多多卖家工具 更改数据库为Mysql
- 四、Testbench
- 2021中国IC封装基板市场现状及未来发展趋势
- springBoot防重复提交
- java实现PEKS_JAVA线程基础
- 系统操作原理:进程的状态和转换(五态模型)
- 汽车传动轴的优化设计matlab,传动轴的优化设计
- Opencv判断颜色相似的图片