int main()
{
int a;
//memset的作用用于给一段内存清0
memset(&a, 0, sizeof(a));
// 0000 0001 0000 0001 0000 0001 0000 0001
memset(&a, 1, sizeof(a)); //给每一个字节设置指定的数
printf("a = %d\n", a);
int b[100];
memset(&b[0], 0, sizeof(b));
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int a = 0;
int b = 0;
void func()
{
}
int main()
{
char src[] = "hello\0abc";
char dst[100] = {0};
strncpy(dst, src, sizeof(src));
memcpy(dst, src, sizeof(src));
printf("dst = %s\n", dst);//hello
printf("dst = %s\n", dst+strlen("hello")+1);//abc
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int b[10];
memset(b, 1, sizeof(b));
memset(b, 0, sizeof(b));
//memcpy(b, a, 10*sizeof(int));
memcpy(b, a, sizeof(a)); //最后一个参数为拷贝内存的字节大小,不是元素个数
int i = 0;
for (i = 0; i < 10; ++i)
{
printf("%d, ", b[i]);
}
printf("\n");
getchar();
return 0;
}
//memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的。
char p1[] = "hello\0abc";
char p2[] = "hello\0tea";
//int flag = strncmp(p1, p2, sizeof(p1));//0 遇到\0中断
int flag = memcmp(p1, p2, sizeof(p1)); //-1
printf("flag = %d\n", flag);