C语言 memset函数及其用法
发布时间:2020-12-14 04:40:45 所属栏目:大数据 来源:网络整理
导读:? 定义 void *memset( void *s, int c,unsigned long n); 描述 将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int 型。s 是 void* 型的指针变量,所以它可以为任何类型的数据进行初始化。 ? 例子 # include stdio.h # include
? 定义 void *memset(void *s,int c,unsigned long n); 描述 将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int 型。s 是 void* 型的指针变量,所以它可以为任何类型的数据进行初始化。 ? 例子 # include <stdio.h> # include <string.h> int main(void) { int i; //循环变量 char str[10]; char *p = str; memset(str,0,sizeof(str)); //只能写sizeof(str),不能写sizeof(p) for (i=0; i<10; ++i) { printf("%dx20",str[i]); } printf("n"); return 0; } 根据memset函数的不同,输出结果也不同,分为以下几种情况: memset(p,0,sizeof(p)); //地址的大小都是4字节 0 0 0 0 -52 -52 -52 -52 -52 -52 memset(p,sizeof(*p)); //*p表示的是一个字符变量,只有一字节 0 -52 -52 -52 -52 -52 -52 -52 -52 -52 memset(p,sizeof(str)); 0 0 0 0 0 0 0 0 0 0 memset(str,sizeof(str)); 0 0 0 0 0 0 0 0 0 0 memset(p,10); //直接写10也行,但不专业 0 0 0 0 0 0 0 0 0 0 ? ?参考: http://c.biancheng.net/view/231.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |