MEMSET函数的使用
要使用memset函数首先要预加载库<string.h>
函数的使用
memset(*p, int c, n)
函数名(要操作的数组首地址, 要替换的字符, 要替换的长度)
*要替换的值虽然以int形式传递,但在执行填充替换操作时使用的是该值的无符号字符形式。
*要填换的长度n指的是前n项,一般是全部替换,特殊情况除外。
通过实际例题来感受下用法
#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
strcpy ( s, "TEST OUTPUT!!!" );
printf ( "%s\n", s);
memset ( s, 63, 8 );
printf ( "%s\n", s );
memset ( s, 90, 3 );
printf ( "%s\n", s );
}
输出结果:
TEST OUTPUT!!!
????????PUT!!!
ZZZ?????PUT!!!
特别要注意的是这里的int c用的是ASCII码表。也就是说
memset ( s, 63, 8 );
和
memset ( s, '?', 8 );
完全等价。
memset的具体用途最主流的用法就是用它遍历数组初始化为0或-1这样子就不用for循环遍历初始化了(偷懒)。