memset函数
memset
头文件
#include <string.h>
函数原型
void *_Cdecl memset (void *s, int c, size_t n);
函数作用
将存储块(s)的前n个字节设置成c。
函数形参
s:需要被设置的存储块
c:用来设置的数据
n:设置的字节数
返回值
返回设置后的s。
注意事项:
memset( )函数只有在字符串(s)为NULL时,才返回NULL。
使用时需要注意的地方,当存储块(s)的空间大小 小于n个字节时,
就是要确保字符串(s)有字符串结束标记('\0')。
否则会出现严重越权操作,并有可能会造成严重的数据破坏和系统问题。
函数代码
#include<stdio.h>
#include<string.h>
int main()
{
char array[12]="hello word";
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int i=0;
printf("Reture value: %s", memset(array,'X',5));
printf("\n");
memset(a, 0, 5*sizeof(int));
for(i=0; i<10; i++)
{
printf("%d ", a[i]);
}
return 0;
}
输出结果
Reture value: XXXXX word
0 0 0 0 0 6 7 8 9 10
函数传参时,按照传入的数据(类型),初始化一片连续的内存地址。
内存地址的大小要大于初始化数据的大小。
"我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来。生活真是这样,它会一次次地让你去做这个功课直到你学会为止。" --《像我这样笨拙地生活》

浙公网安备 33010602011771号