memset的用法
来源:互联网 发布:mac os x10.8 iso下载 编辑:程序博客网 时间:2024/05/22 12:03
功 能
将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。[编辑本段]用 法
void *memset(void *s, int ch, unsigned n);[编辑本段]程序例
#include <string.h> #include <stdio.h> #include <memory.h>memset函数
[编辑本段]memset函数详细说明
1。void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。 2。例子 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()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘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); 阅读全文
0 0
- memset函数的用法
- memset函数的用法
- memset的用法
- memset的用法
- memset的用法
- memset的用法
- 四极管:memset的用法
- memset的用法
- memset函数的用法
- memset的用法
- memset的用法
- memset的用法
- memset的用法
- memset函数的用法
- memset的用法
- memset函数的用法
- memset 的 一些 用法
- memset()的用法
- 算法学习之旅,初级篇(18)--哥德巴赫猜想
- 微信备忘录
- 树形结构数据库设计
- BAT脚本编写教程简单入门篇
- 坦然面对:应对前端疲劳
- memset的用法
- UE4蓝图编程学习 前期心得
- 正则拆分url
- 数据结构实验之图论四:迷宫探索
- c++ 加锁和原子对比
- 安卓细节知识点流水账(一)
- golang使用sqlite
- 完成一个小卡片
- SpringMVC加载web下的静态资源:css、js