memset函数具体说明
函数 说明 具体 memset
2023-09-14 09:10:23 时间
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的指针。
总的作用:将已开辟内存空间 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的指针。
相关文章
- stat函数的使用说明[通俗易懂]
- strstr()函数的使用说明(C语言)
- scanf函数的实战应用: 实例演示scanf函数在实际应用中的使用方法
- 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )
- mysql时间戳格式化函数from_unixtime使用的简单说明
- C++派生类的构造函数和析构函数
- MySQL 中的加法运算函数使用说明(mysql加法函数)
- Oracle授权函数的使用与实现(oracle授权函数)
- 【Oracle日期函数:掌握截取技巧】(oracle日期函数截取)
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- MySQL 中 Over 函数的使用及示例说明(mysql 中over)
- 利用Oracle中NVL函数处理空值(nvl在oracle)
- C语言实现Oracle函数调用的研究与实现(c 执行oracle函数)
- 如何在MySQL中删除字段函数(mysql中去掉字段函数)
- Oracle 学习余数函数的使用(oracle 余数函数)
- ASP中常用的函数和详细说明
- JavaScript实现Sleep函数的代码
- ORACLE系统函数大全SQLSERVER系统函数的异同
- phpecho()和print()、require()和include()函数区别说明
- javascript函数使用说明
- 一些常用的JavaScript函数(json)附详细说明
- phparray_map()数组函数使用说明
- PHP字符串正则替换函数preg_replace使用说明
- 从汇编看c++中函数里面的static关键字的使用说明
- 浅谈SQLite时间函数的使用说明与总结分析
- 基于memset()函数的深入理解
- python中使用sys模板和logging模块获取行号和函数名的方法
- phpsetcookie函数的参数说明及其用法