memset函数用法及注意事项
来源:互联网 发布:专职安全员考试软件 编辑:程序博客网 时间:2024/05/17 08:46
memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的。
其原型是:void* memset(void *_Dst, int _Val, size_t _Size);
使用时在文件头加上#include "stdlib.h" 。
_Dst是目标起始地址,_Val是要赋的值,_Size是要赋值的字节数 。
例1:
char str[9];
我们用memset给str初始化为“00000000”,用法如下
memset(str,0,8);
注意,memset是逐字节 拷贝的。
下面再看一个例子:
例2:
int num[8];
我们用memset给str初始化为{1,1,1,1,1,1,1,1},
memset(num,1,8);//这样是不对的
一个int是4个字节的,8个int是32个字节,所以首先要赋值的长度就不应该为8而是32。
因为memset是 逐字节 拷贝,以num为首地址的8字节空间都被赋值为1,
即一个int变为0X00000001 00000001 00000001 00000001,显然,把这个数化为十进制不会等于1的。
所以,在memset使用时要千万小心,在给char以外的数组赋值时,只能初始化为0或者-1。因为在计算机里,0的二进制都是0,-1的二进制都是1。
最近才发现memset的这个问题,之所以要写这篇文章,是因为我在自己的DES算法里多处用到了memset,而我当时却不知memset有这个问题,特此记下,引以为鉴。
---------------------
例如:
#include "stdio.h"
#include <string.h>
int main()
{
char s[100]="Golden Global View";
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
结果
----------
- memset函数用法及注意事项
- memset函数用法及注意事项
- memset函数用法及注意事项
- memset()及相关函数用法及注意事项
- C++中memset函数的用法注意事项
- memset函数的使用及注意事项
- memset函数使用注意事项
- memset 函数的注意事项
- memset函数注意事项
- memset函数注意事项
- 关于函数memset的若干用法和注意事项
- 函数用法 --- memset函数
- memset函数的用法
- memset函数的用法
- memset 函数用法
- memset()函数用法
- memset函数用法
- memset函数的用法
- 戒骄戒躁
- ASP.NET+Ext Js4.0文本框控件用法
- java代理Proxy
- matlab读取十六进制数
- 普里姆Prim— 最小生成树
- memset函数用法及注意事项
- Android 用MD5加密算法加密密码
- AIX培训总结之二:AIX管理
- C、C++一次将整个文件读入内存
- 任意十六进制数转换成十进制数----不管你输入多长都能转换
- D-link路由器设置详解
- 整数转换成字符串
- 求得任意整数的阶乘
- Android 后台线程实例