C语言中memset与memcpy的注意事项
1.memset
void * memset( void * s,int c, size_t n);
将s所指向的某一块内存中的每个字节的内容全部设置位 c(c的大小为 -128~+127), 内存的大小由 n决定。因此memset是按照字节赋值的。
程序实例:
int a[100];
float b[100];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
//作为内存块的清零,不管什么基本数据类型都是可行的,但是要是作为初始化为其他值,那就要看具体内存了
void * memset( void * s,char ch,size_t n);
将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,内存块的大小由 n决定,一般做初始化工作。
#include <string.h>
#include <stdio.h>
#include <memory.h>
int main(void)
{
char buffer[] = "Hello world/n";
printf("Buffer before memset: %s/n", buffer);
memset(buffer, '*', strlen(buffer